diff options
Diffstat (limited to 'tools/slang-unit-test/unit-test-md5.cpp')
| -rw-r--r-- | tools/slang-unit-test/unit-test-md5.cpp | 104 |
1 files changed, 27 insertions, 77 deletions
diff --git a/tools/slang-unit-test/unit-test-md5.cpp b/tools/slang-unit-test/unit-test-md5.cpp index 41f3d6cf6..1297d4f17 100644 --- a/tools/slang-unit-test/unit-test-md5.cpp +++ b/tools/slang-unit-test/unit-test-md5.cpp @@ -9,89 +9,39 @@ using namespace Slang; SLANG_UNIT_TEST(md5hash) { + // Empty string { - // Raw numerical values, etc. - MD5Context testCtx; - MD5HashGen testHashGen; - testHashGen.init(&testCtx); - - int64_t valueA = -1; - uint64_t valueB = 1; - testHashGen.update(&testCtx, valueA); - testHashGen.update(&testCtx, valueB); - - slang::Digest testA; - testHashGen.finalize(&testCtx, &testA); - - String testAString = DigestUtil::toString(testA); - SLANG_CHECK(testAString.equals(String("5BA171E20898BDD205639013746F2679"))); + MD5Context ctx; + MD5HashGen gen; + gen.init(&ctx); + slang::Digest digest; + gen.finalize(&ctx, &digest); + SLANG_CHECK(DigestUtil::toString(digest) == "D41D8CD98F00B204E9800998ECF8427E"); } + // One call to update() { - // List - MD5Context testCtx; - MD5HashGen testHashGen; - testHashGen.init(&testCtx); - - List<int64_t> listA; - listA.add(1); - listA.add(2); - listA.add(3); - listA.add(4); - testHashGen.update(&testCtx, listA); - - slang::Digest testB; - testHashGen.finalize(&testCtx, &testB); - - String testBString = DigestUtil::toString(testB); - SLANG_CHECK(testBString.equals(String("4352D88A78AA39750BF70CD6F27BCAA5"))); + MD5Context ctx; + MD5HashGen gen; + gen.init(&ctx); + const String str("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); + gen.update(&ctx, str.getBuffer(), str.getLength()); + slang::Digest digest; + gen.finalize(&ctx, &digest); + SLANG_CHECK(DigestUtil::toString(digest) == "818C6E601A24F72750DA0F6C9B8EBE28"); } + // Two calls to update() { - // UnownedStringSlice - MD5Context testCtx; - MD5HashGen testHashGen; - testHashGen.init(&testCtx); - - UnownedStringSlice stringSlice = UnownedStringSlice("String Slice Test"); - testHashGen.update(&testCtx, stringSlice); - - slang::Digest testC; - testHashGen.finalize(&testCtx, &testC); - - String testCString = DigestUtil::toString(testC); - SLANG_CHECK(testCString.equals(String("5D6CC58E1824A4DFD0CF57395B603316"))); - } - - { - // String - MD5Context testCtx; - MD5HashGen testHashGen; - testHashGen.init(&testCtx); - - String str = String("String Test"); - testHashGen.update(&testCtx, str); - - slang::Digest testD; - testHashGen.finalize(&testCtx, &testD); - - String testDString = DigestUtil::toString(testD); - SLANG_CHECK(testDString.equals(String("DF5A79CC2170C7401CF0A506CEB0CE24"))); - } - - { - // Hash - MD5Context testCtx; - MD5HashGen testHashGen; - testHashGen.init(&testCtx); - - slang::Digest Hash; - testHashGen.update(&testCtx, Hash); - - slang::Digest testE; - testHashGen.finalize(&testCtx, &testE); - - String testEString = DigestUtil::toString(testE); - SLANG_CHECK(testEString.equals(String("4AE71336E44BF9BF79D2752E234818A5"))); + MD5Context ctx; + MD5HashGen gen; + gen.init(&ctx); + const String str1("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); + const String str2("Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."); + gen.update(&ctx, str1.getBuffer(), str1.getLength()); + gen.update(&ctx, str2.getBuffer(), str2.getLength()); + slang::Digest digest; + gen.finalize(&ctx, &digest); + SLANG_CHECK(DigestUtil::toString(digest) == "87D3CAECB0AB82FAAE84D60FDE994ACA"); } } |
