summaryrefslogtreecommitdiff
path: root/xsd/tests/cxx/parser/validation/built-in/long/driver.cxx
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:46 +0100
committerJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:46 +0100
commit372a0e99c2f61543d9e14d9933b59d9d1f4cb26e (patch)
treebbadf39aed0610c8f8f7b41fefff47773b8ac205 /xsd/tests/cxx/parser/validation/built-in/long/driver.cxx
parent23d41842168ac1a1580111b9c5c73500ceee3d57 (diff)
parent4538829ab86b5a1cd4e845e7eab165029c9d6d46 (diff)
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'xsd/tests/cxx/parser/validation/built-in/long/driver.cxx')
-rw-r--r--xsd/tests/cxx/parser/validation/built-in/long/driver.cxx117
1 files changed, 0 insertions, 117 deletions
diff --git a/xsd/tests/cxx/parser/validation/built-in/long/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/long/driver.cxx
deleted file mode 100644
index 2033125..0000000
--- a/xsd/tests/cxx/parser/validation/built-in/long/driver.cxx
+++ /dev/null
@@ -1,117 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/long/driver.cxx
-// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in long and unsigned long types validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- // Good.
- //
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-9223372036854775808");
- p._post ();
- assert (p.post_long () == (-9223372036854775807LL - 1));
- }
-
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_long () == 0);
- }
-
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("9223372036854775807");
- p._post ();
- assert (p.post_long () == 9223372036854775807LL);
- }
-
- {
- unsigned_long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_unsigned_long () == 0);
- }
-
- {
- unsigned_long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("18446744073709551615");
- p._post ();
- assert (p.post_unsigned_long () == 18446744073709551615ULL);
- }
-
- // Bad
- //
-
- {
- unsigned_long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-123");
- assert (test_post_fail (p));
- }
-
-
- // Ranges
- //
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-9223372036854775809");
- assert (test_post_fail (p));
- }
-
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("9223372036854775808");
- assert (test_post_fail (p));
- }
-
- {
- unsigned_long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("18446744073709551616");
- assert (test_post_fail (p));
- }
-}