aboutsummaryrefslogtreecommitdiff
path: root/tests/sha1/driver.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'tests/sha1/driver.cxx')
-rw-r--r--tests/sha1/driver.cxx54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/sha1/driver.cxx b/tests/sha1/driver.cxx
new file mode 100644
index 0000000..5f5bb69
--- /dev/null
+++ b/tests/sha1/driver.cxx
@@ -0,0 +1,54 @@
+// file : tests/sha1/driver.cxx -*- C++ -*-
+// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#include <cassert>
+
+#ifndef __cpp_lib_modules
+#include <string>
+#include <iostream>
+#endif
+
+// Other includes.
+
+#ifdef __cpp_modules
+#ifdef __cpp_lib_modules
+import std.core;
+import std.io;
+#endif
+import butl.sha1;
+#else
+#include <libbutl/sha1.mxx>
+#endif
+
+using namespace std;
+using namespace butl;
+
+int
+main ()
+{
+ assert (string (sha1 ().string ()) ==
+ "da39a3ee5e6b4b0d3255bfef95601890afd80709");
+
+ assert (string (sha1 ("").string ()) !=
+ "da39a3ee5e6b4b0d3255bfef95601890afd80709");
+
+ assert (string (sha1 ("123").string ()) ==
+ "cc320164df1a2130045a28f08d3b88bc5bbcc43a");
+
+ assert (string (sha1 ("123", 3).string ()) ==
+ "40bd001563085fc35165329ea1ff5c5ecbdbbeef");
+
+ {
+ sha1 h;
+ h.append ("1");
+ h.append (string ("2"));
+ h.append ("3", 1);
+
+ auto& b (h.binary ());
+ assert (b[0] == 0x58 && b[19] == 0xfd);
+
+ string s (h.string ());
+ assert (s == "58c596bafad8d007952934af1db9abc5401d4dfd");
+ }
+}