33#include < rdf4cpp.hpp>
44#include < rdf4cpp/storage/reference_node_storage/UnsyncReferenceNodeStorage.hpp>
55
6+ #include < cmath>
7+
68enum struct OutputFormat {
79 NTriples,
810 Turtle,
@@ -29,14 +31,22 @@ TEST_CASE("Literal short form and prefixed") {
2931 writer::write_str (" ," , ser);
3032 Literal::make_typed<datatypes::xsd::Double>(" 4" ).serialize (ser, NodeSerializationOpts::prefixed_and_short_form ());
3133 writer::write_str (" ," , ser);
34+ Literal::make_typed<datatypes::xsd::Double>(" INF" ).serialize (ser, NodeSerializationOpts::prefixed_and_short_form ());
35+ writer::write_str (" ," , ser);
36+ Literal::make_typed<datatypes::xsd::Double>(" -INF" ).serialize (ser, NodeSerializationOpts::prefixed_and_short_form ());
37+ writer::write_str (" ," , ser);
38+ Literal::make_typed<datatypes::xsd::Double>(" NaN" ).serialize (ser, NodeSerializationOpts::prefixed_and_short_form ());
39+ writer::write_str (" ," , ser);
40+ Literal::make_typed_from_value<datatypes::xsd::Double>(HUGE_VAL).serialize (ser, NodeSerializationOpts::prefixed_and_short_form ());
41+ writer::write_str (" ," , ser);
3242 Literal::make_typed<datatypes::xsd::Float>(" 4" ).serialize (ser, NodeSerializationOpts::prefixed_and_short_form ());
3343 writer::write_str (" ," , ser);
3444 Literal::make_typed<datatypes::xsd::UnsignedByte>(" 4" ).serialize (ser, NodeSerializationOpts::prefixed_and_short_form ());
3545 writer::write_str (" ," , ser);
3646 Literal::make_typed<datatypes::xsd::Integer>(" 4" ).serialize (ser, NodeSerializationOpts::prefixed_and_short_form ());
3747 ser.finalize ();
3848
39- CHECK_EQ (buf, R"( "2042-05-04"^^xsd:date,true,4.0,4.0E0,"4.0E0"^^xsd:float,"4"^^xsd:unsignedByte,4)" );
49+ CHECK_EQ (buf, R"( "2042-05-04"^^xsd:date,true,4.0,4.0E0,"INF"^^xsd:double,"-INF"^^xsd:double,"NaN"^^xsd:double,"INF"^^xsd:double," 4.0E0"^^xsd:float,"4"^^xsd:unsignedByte,4)" );
4050}
4151
4252TEST_CASE (" Literal short form" ) {
0 commit comments