From 2da25b51c83bdb7b1fb005ef490a031748d69e29 Mon Sep 17 00:00:00 2001 From: IRainman Date: Thu, 10 Apr 2025 00:49:16 +0300 Subject: [PATCH] trying to fix tests. --- CONTRIBUTORS | 1 + tests/example_comma_test.cpp | 4 ++-- tests/fortran.cpp | 26 ++++++++++++++++---------- tests/json_fmt.cpp | 25 ++++++++++++++----------- 4 files changed, 33 insertions(+), 23 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 4b70555..400c89f 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -9,3 +9,4 @@ Jan Pharago Maya Warrier Taha Khokhar Anders Dalvander +Elle Solomina diff --git a/tests/example_comma_test.cpp b/tests/example_comma_test.cpp index 79a8e1d..40d6ec3 100644 --- a/tests/example_comma_test.cpp +++ b/tests/example_comma_test.cpp @@ -7,9 +7,9 @@ int main() { std::string const input = "3,1416 xyz "; double result; - fast_float::parse_options options{fast_float::chars_format::general, ','}; auto answer = fast_float::from_chars_advanced( - input.data(), input.data() + input.size(), result, options); + input.data(), input.data() + input.size(), result, + fast_float::parse_options{fast_float::chars_format::general, ','}); if ((answer.ec != std::errc()) || ((result != 3.1416))) { std::cerr << "parsing failure\n"; return EXIT_FAILURE; diff --git a/tests/fortran.cpp b/tests/fortran.cpp index 9167593..0c7477f 100644 --- a/tests/fortran.cpp +++ b/tests/fortran.cpp @@ -9,11 +9,11 @@ int main_readme() { std::string const input = "1d+4"; double result; - fast_float::parse_options options{ - fast_float::chars_format::fortran | - fast_float::chars_format::allow_leading_plus}; auto answer = fast_float::from_chars_advanced( - input.data(), input.data() + input.size(), result, options); + input.data(), input.data() + input.size(), result, + fast_float::parse_options { + fast_float::chars_format::fortran | + fast_float::chars_format::allow_leading_plus}); if ((answer.ec != std::errc()) || ((result != 10000))) { std::cerr << "parsing failure\n" << result << "\n"; return EXIT_FAILURE; @@ -31,15 +31,15 @@ int main() { "1d-1", "1d-2", "1d-3", "1d-4"}; std::vector const fmt3{"+1+4", "+1+3", "+1+2", "+1+1", "+1+0", "+1-1", "+1-2", "+1-3", "+1-4"}; - fast_float::parse_options const options{ - fast_float::chars_format::fortran | - fast_float::chars_format::allow_leading_plus}; for (auto const &f : fmt1) { auto d{std::distance(&fmt1[0], &f)}; double result; auto answer{fast_float::from_chars_advanced(f.data(), f.data() + f.size(), - result, options)}; + result, + fast_float::parse_options { + fast_float::chars_format::fortran | + fast_float::chars_format::allow_leading_plus})}; if (answer.ec != std::errc() || result != expected[std::size_t(d)]) { std::cerr << "parsing failure on " << f << std::endl; return EXIT_FAILURE; @@ -50,7 +50,10 @@ int main() { auto d{std::distance(&fmt2[0], &f)}; double result; auto answer{fast_float::from_chars_advanced(f.data(), f.data() + f.size(), - result, options)}; + result, + fast_float::parse_options { + fast_float::chars_format::fortran | + fast_float::chars_format::allow_leading_plus})}; if (answer.ec != std::errc() || result != expected[std::size_t(d)]) { std::cerr << "parsing failure on " << f << std::endl; return EXIT_FAILURE; @@ -61,7 +64,10 @@ int main() { auto d{std::distance(&fmt3[0], &f)}; double result; auto answer{fast_float::from_chars_advanced(f.data(), f.data() + f.size(), - result, options)}; + result, + fast_float::parse_options { + fast_float::chars_format::fortran | + fast_float::chars_format::allow_leading_plus})}; if (answer.ec != std::errc() || result != expected[std::size_t(d)]) { std::cerr << "parsing failure on " << f << std::endl; return EXIT_FAILURE; diff --git a/tests/json_fmt.cpp b/tests/json_fmt.cpp index 1ba0d5a..10994db 100644 --- a/tests/json_fmt.cpp +++ b/tests/json_fmt.cpp @@ -7,11 +7,12 @@ int main_readme() { std::string const input = "+.1"; // not valid double result; - fast_float::parse_options options{ - fast_float::chars_format::json | - fast_float::chars_format::allow_leading_plus}; // should be ignored auto answer = fast_float::from_chars_advanced( - input.data(), input.data() + input.size(), result, options); + input.data(), input.data() + input.size(), result, + fast_float::parse_options options{ + fast_float::chars_format::json | + fast_float::chars_format::allow_leading_plus} // should be ignored + ); if (answer.ec == std::errc()) { std::cerr << "should have failed\n"; return EXIT_FAILURE; @@ -22,11 +23,12 @@ int main_readme() { int main_readme2() { std::string const input = "inf"; // not valid in JSON double result; - fast_float::parse_options options{ - fast_float::chars_format::json | - fast_float::chars_format::allow_leading_plus}; // should be ignored auto answer = fast_float::from_chars_advanced( - input.data(), input.data() + input.size(), result, options); + input.data(), input.data() + input.size(), result, + fast_float::parse_options options{ + fast_float::chars_format::json | + fast_float::chars_format::allow_leading_plus} // should be ignored + ); if (answer.ec == std::errc()) { std::cerr << "should have failed\n"; return EXIT_FAILURE; @@ -38,11 +40,12 @@ int main_readme3() { std::string const input = "inf"; // not valid in JSON but we allow it with json_or_infnan double result; - fast_float::parse_options options{ + auto answer = fast_float::from_chars_advanced( + input.data(), input.data() + input.size(), result, + fast_float::parse_options options{ fast_float::chars_format::json_or_infnan | fast_float::chars_format::allow_leading_plus}; // should be ignored - auto answer = fast_float::from_chars_advanced( - input.data(), input.data() + input.size(), result, options); + ); if (answer.ec != std::errc() || (!std::isinf(result))) { std::cerr << "should have parsed infinity\n"; return EXIT_FAILURE;