summaryrefslogtreecommitdiff
path: root/Examples/test-suite/d/long_long_runme.1.d
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/d/long_long_runme.1.d')
-rw-r--r--Examples/test-suite/d/long_long_runme.1.d35
1 files changed, 35 insertions, 0 deletions
diff --git a/Examples/test-suite/d/long_long_runme.1.d b/Examples/test-suite/d/long_long_runme.1.d
new file mode 100644
index 000000000..a6d5448bc
--- /dev/null
+++ b/Examples/test-suite/d/long_long_runme.1.d
@@ -0,0 +1,35 @@
+// Checks if the long long and unsigned long long types work.
+module long_long_runme;
+
+import Integer = tango.text.convert.Integer;
+import long_long.long_long;
+
+void main() {
+ check_ll(0L);
+ check_ll(0x7FFFFFFFFFFFFFFFL);
+ check_ll(-10L);
+
+ check_ull(0u);
+ check_ull(127u);
+ check_ull(128u);
+ check_ull(9223372036854775807u); //0x7FFFFFFFFFFFFFFFL
+ check_ull(18446744073709551615u); //0xFFFFFFFFFFFFFFFFL
+}
+
+void check_ll(long value) {
+ ll = value;
+ long value_check = ll;
+ if (value != value_check) {
+ throw new Exception("Runtime test using long long failed: expected: " ~
+ Integer.toString(value) ~ ", got: " ~ Integer.toString(value_check));
+ }
+}
+
+void check_ull(ulong value) {
+ ull = value;
+ ulong value_check = ull;
+ if (value != value_check) {
+ throw new Exception( "Runtime test using unsigned long long failed: expected: " ~
+ Integer.toString(value) ~ ", ll_check=" ~ Integer.toString(value_check));
+ }
+}