summaryrefslogtreecommitdiff
path: root/tools/slang-unit-test/unit-test-md5.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-unit-test/unit-test-md5.cpp')
-rw-r--r--tools/slang-unit-test/unit-test-md5.cpp104
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");
}
}