diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 |
commit | 372a0e99c2f61543d9e14d9933b59d9d1f4cb26e (patch) | |
tree | bbadf39aed0610c8f8f7b41fefff47773b8ac205 /xsd/tests/cxx/parser/validation/built-in/float/driver.cxx | |
parent | 23d41842168ac1a1580111b9c5c73500ceee3d57 (diff) | |
parent | 4538829ab86b5a1cd4e845e7eab165029c9d6d46 (diff) |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'xsd/tests/cxx/parser/validation/built-in/float/driver.cxx')
-rw-r--r-- | xsd/tests/cxx/parser/validation/built-in/float/driver.cxx | 286 |
1 files changed, 0 insertions, 286 deletions
diff --git a/xsd/tests/cxx/parser/validation/built-in/float/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/float/driver.cxx deleted file mode 100644 index f984498..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/float/driver.cxx +++ /dev/null @@ -1,286 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/float/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in float, double, and decimal types validation. -// -#include <math.h> -#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. - // - - // float - // - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" 0000123.456 "); - p._post (); - assert (p.post_float () == 123.456F); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-12.345E2"); - p._post (); - assert (p.post_float () == -12.345E2F); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_float () == 0.0F); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0"); - p._post (); - assert (p.post_float () == -0.0F); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("INF"); - p._post (); - assert (isinf (p.post_float ())); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-INF"); - p._post (); - assert (isinf (p.post_float ())); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("NaN"); - p._post (); - assert (isnan (p.post_float ())); - } - - // double - // - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" 0000123.456789 "); - p._post (); - assert (p.post_double () == 123.456789); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-12.3456789E2"); - p._post (); - assert (p.post_double () == -12.3456789E2); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_double () == 0.0); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0"); - p._post (); - assert (p.post_double () == -0.0); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("INF"); - p._post (); - assert (isinf (p.post_double ())); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-INF"); - p._post (); - assert (isinf (p.post_double ())); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("NaN"); - p._post (); - assert (isnan (p.post_double ())); - } - - // decimal - // - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" 0000123.456789 "); - p._post (); - assert (p.post_decimal () == 123.456789); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-123.45678912345"); - p._post (); - assert (p.post_decimal () == -123.45678912345); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_decimal () == 0.0); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0"); - p._post (); - assert (p.post_decimal () == -0.0); - } - - - // Bad - // - - // float - // - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+INF"); - assert (test_post_fail (p)); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1.45 E2"); - assert (test_post_fail (p)); - } - - // double - // - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+INF"); - assert (test_post_fail (p)); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1.45 E2"); - assert (test_post_fail (p)); - } - - // decimal - // - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("INF"); - assert (test_post_fail (p)); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+INF"); - assert (test_post_fail (p)); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-INF"); - assert (test_post_fail (p)); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("NaN"); - assert (test_post_fail (p)); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1.45 2"); - assert (test_post_fail (p)); - } -} |