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 | |
parent | 23d41842168ac1a1580111b9c5c73500ceee3d57 (diff) | |
parent | 4538829ab86b5a1cd4e845e7eab165029c9d6d46 (diff) |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'xsd/tests/cxx/parser/validation/built-in/float')
-rw-r--r-- | xsd/tests/cxx/parser/validation/built-in/float/driver.cxx | 286 | ||||
-rw-r--r-- | xsd/tests/cxx/parser/validation/built-in/float/makefile | 71 |
2 files changed, 0 insertions, 357 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)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/float/makefile b/xsd/tests/cxx/parser/validation/built-in/float/makefile deleted file mode 100644 index 6755693..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/float/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/float/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/cxx/o-e.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/cxx-d.make) |