From 349cdab76fe930783b3fd3909726622a36279592 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Sun, 7 Apr 2013 00:49:56 -0500 Subject: [PATCH] Tests for Checksum class --- Library/Homebrew/checksum.rb | 17 +++++++---------- Library/Homebrew/test/test_checksum.rb | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 Library/Homebrew/test/test_checksum.rb diff --git a/Library/Homebrew/checksum.rb b/Library/Homebrew/checksum.rb index 28ca023fea..a4e38e0ada 100644 --- a/Library/Homebrew/checksum.rb +++ b/Library/Homebrew/checksum.rb @@ -1,22 +1,19 @@ class Checksum attr_reader :hash_type, :hexdigest + alias_method :to_s, :hexdigest TYPES = [:sha1, :sha256] - def initialize type=:sha1, val=nil - @hash_type = type - @hexdigest = val.to_s + def initialize(hash_type, hexdigest) + @hash_type = hash_type + @hexdigest = hexdigest end def empty? - @hexdigest.empty? + hexdigest.empty? end - def to_s - @hexdigest - end - - def == other - @hash_type == other.hash_type and @hexdigest == other.hexdigest + def ==(other) + hash_type == other.hash_type && hexdigest == other.hexdigest end end diff --git a/Library/Homebrew/test/test_checksum.rb b/Library/Homebrew/test/test_checksum.rb new file mode 100644 index 0000000000..80cd60d2da --- /dev/null +++ b/Library/Homebrew/test/test_checksum.rb @@ -0,0 +1,23 @@ +require 'testing_env' +require 'checksum' + +class ChecksumTests < Test::Unit::TestCase + def test_empty? + assert_empty Checksum.new(:sha1, '') + end + + def test_equality + a = Checksum.new(:sha1, 'deadbeef'*5) + b = Checksum.new(:sha1, 'deadbeef'*5) + assert_equal a, b + + a = Checksum.new(:sha1, 'deadbeef'*5) + b = Checksum.new(:sha1, 'feedface'*5) + assert_not_equal a, b + + a = Checksum.new(:sha1, 'deadbeef'*5) + b = Checksum.new(:sha256, 'deadbeef'*5) + assert_not_equal a, b + end +end +