aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2012-07-23 12:13:08 -0500
committerJoshua Peek <josh@joshpeek.com>2012-07-23 12:13:08 -0500
commitd6fb95b06f960e4cd11cf0aeadfd1a0c52cba060 (patch)
tree66d3fff1277328196d75dab671c15da43bee57a0 /test
parentdb88e143ba96f21502942ad7f39c19307b9a6e02 (diff)
Add nested md5 digest
Diffstat (limited to 'test')
-rw-r--r--test/test_md5.rb59
1 files changed, 59 insertions, 0 deletions
diff --git a/test/test_md5.rb b/test/test_md5.rb
new file mode 100644
index 0000000..789e8b3
--- /dev/null
+++ b/test/test_md5.rb
@@ -0,0 +1,59 @@
+require 'linguist/md5'
+
+require 'test/unit'
+
+class TestMD5 < Test::Unit::TestCase
+ include Linguist
+
+ def test_hexdigest_string
+ assert_equal "af0ede4f95acad6d331a813dc3904c11", MD5.hexdigest("foo")
+ assert_equal "05427b9908edb6995ed76faa23e4471f", MD5.hexdigest("bar")
+ end
+
+ def test_hexdigest_symbol
+ assert_equal "450c1ae043459546517b3dd2f98250f0", MD5.hexdigest(:foo)
+ assert_equal "f06967526af9d7a512594b0a81b31ede", MD5.hexdigest(:bar)
+
+ assert_not_equal MD5.hexdigest("foo"), MD5.hexdigest(:foo)
+ end
+
+ def test_hexdigest_integer
+ assert_equal "7605ec17fd7fd213fdcd23cac302cbb4", MD5.hexdigest(1)
+ assert_equal "097c311a46d330e4e119ba2b1dc0f9a5", MD5.hexdigest(2)
+
+ assert_not_equal MD5.hexdigest("1"), MD5.hexdigest(1)
+ end
+
+ def test_hexdigest_boolean
+ assert_equal "a690a0615820e2e5c53901d8b8958509", MD5.hexdigest(true)
+ assert_equal "fca6a9b459e702fa93513c6a8b8c5dfe", MD5.hexdigest(false)
+
+ assert_not_equal MD5.hexdigest("true"), MD5.hexdigest(true)
+ assert_not_equal MD5.hexdigest("false"), MD5.hexdigest(false)
+ end
+
+ def test_hexdigest_nil
+ assert_equal "35589a1cc0b3ca90fc52d0e711c0c434", MD5.hexdigest(nil)
+
+ assert_not_equal MD5.hexdigest("nil"), MD5.hexdigest(nil)
+ end
+
+ def test_hexdigest_array
+ assert_equal "4410ec34d9e6c1a68100ca0ce033fb17", MD5.hexdigest([])
+ assert_equal "a57e31bc7bce57d04dd6a07e74fd0d88", MD5.hexdigest([1])
+ assert_equal "ecbda6354c6e0370df33d43ce14701f4", MD5.hexdigest([1, 2])
+ assert_equal "5c42a2601d344f359017e2b76390e2cc", MD5.hexdigest([1, 2, 3])
+ assert_equal "c1816755a379d2b32289647ad1870d12", MD5.hexdigest([1, 2, [3]])
+ end
+
+ def test_hexdigest_hash
+ assert_equal "fae8a9257e154175da4193dbf6552ef6", MD5.hexdigest({})
+ assert_equal "b3646d6d84a803baa5ee2e5354057a65", MD5.hexdigest({:a => 1})
+ assert_equal "92c08085470d42ca0d33dd3ec5a8e098", MD5.hexdigest({:b => 2})
+
+ assert_not_equal MD5.hexdigest([:b, 2]), MD5.hexdigest({:b => 2})
+
+ assert_equal MD5.hexdigest({:b => 2, :a => 1}), MD5.hexdigest({:a => 1, :b => 2})
+ assert_equal MD5.hexdigest({:c => 3, :b => 2, :a => 1}), MD5.hexdigest({:a => 1, :b => 2, :c => 3})
+ end
+end