Skip to content

Commit

Permalink
more updates
Browse files Browse the repository at this point in the history
  • Loading branch information
whaeck committed Apr 9, 2024
1 parent a727a8f commit f073483
Show file tree
Hide file tree
Showing 7 changed files with 140 additions and 14 deletions.
4 changes: 2 additions & 2 deletions src/tools/disco/Character/test/Character.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ SCENARIO( "Character" ) {
end = string.end();
CHECK( "ab " == Character< 4 >::read< std::string >( begin, end ) );
CHECK( begin == end - 1 );
}
} // THEN

THEN( "strings can be written" ) {

Expand Down Expand Up @@ -65,5 +65,5 @@ SCENARIO( "Character" ) {
iter = std::back_inserter( buffer );
Character< 4 >::write( string, iter );
CHECK( " " == buffer );
}
} // THEN
} // SCENARIO
4 changes: 2 additions & 2 deletions src/tools/disco/Column/test/Column.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ SCENARIO( "Column" ) {
CHECK( begin == end - 2 );
Column< 3 >::read( begin, end );
CHECK( begin == end - 1 );
}
} // THEN

THEN( "columns can be written" ) {

Expand All @@ -56,5 +56,5 @@ SCENARIO( "Column" ) {
iter = std::back_inserter( buffer );
Column< 1 >::write( iter );
CHECK( " " == buffer );
}
} // THEN
} // SCENARIO
1 change: 1 addition & 0 deletions src/tools/disco/ENDF/test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
add_cpp_test( disco.ENDF ENDF.test.cpp )
125 changes: 125 additions & 0 deletions src/tools/disco/ENDF/test/ENDF.test.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
// include Catch2
#include <catch2/catch_test_macros.hpp>

// what we are testing
#include "tools/disco/Scientific.hpp"

// other includes

// convenience typedefs
using namespace njoy::tools::disco;

SCENARIO( "Scientific" ) {

THEN( "values can be written" ) {

double value;
std::string buffer;
auto iter = std::back_inserter( buffer );

value = 0;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( " 0.00000E+00" == buffer );
CHECK( 12 == buffer.size() );

value = 2;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( " 2.00000E+00" == buffer );
CHECK( 12 == buffer.size() );

value = 10;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( " 1.00000E+01" == buffer );
CHECK( 12 == buffer.size() );

value = 3.14159265359;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( " 3.14159E+00" == buffer );
CHECK( 12 == buffer.size() );

value = 0.69314718056;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( " 6.93147E-01" == buffer );
CHECK( 12 == buffer.size() );

value = 1e-100;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( "1.00000E-100" == buffer );
CHECK( 12 == buffer.size() );

value = 1e+100;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( "1.00000E+100" == buffer );
CHECK( 12 == buffer.size() );

value = -2;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( "-2.00000E+00" == buffer );
CHECK( 12 == buffer.size() );

value = -10;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( "-1.00000E+01" == buffer );
CHECK( 12 == buffer.size() );

value = -3.14159265359;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( "-3.14159E+00" == buffer );
CHECK( 12 == buffer.size() );

value = -0.69314718056;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( "-6.93147E-01" == buffer );
CHECK( 12 == buffer.size() );

value = -1e-100;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( "-1.0000E-100" == buffer );
CHECK( 12 == buffer.size() );

value = -1e+100;
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( "-1.0000E+100" == buffer );
CHECK( 12 == buffer.size() );

value = std::numeric_limits< double >::max();
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( " Inf" == buffer );
CHECK( 12 == buffer.size() );

value = -std::numeric_limits< double >::max();
buffer = "";
iter = std::back_inserter( buffer );
Scientific< 12, 5 >::write( value, iter );
CHECK( " -Inf" == buffer );
CHECK( 12 == buffer.size() );
} // THEN
} // SCENARIO
2 changes: 1 addition & 1 deletion src/tools/disco/FixedPoint/test/FixedPoint.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,5 @@ SCENARIO( "FixedPoint" ) {
FixedPoint< 12, 5 >::write( value, iter );
CHECK( " -Inf" == buffer );
CHECK( 12 == buffer.size() );
}
} // THEN
} // SCENARIO
16 changes: 8 additions & 8 deletions src/tools/disco/Record/test/Record.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ SCENARIO( "Record" ) {
CHECK( 2 == std::get<1>(tuple) );
CHECK( "abcd" == std::get<2>(tuple) );
CHECK( iter == end );
}
}
} // THEN
} // GIVEN

GIVEN( "a line of data" ) {

Expand All @@ -76,9 +76,9 @@ SCENARIO( "Record" ) {
CHECK( 1e-11 == value1 );
CHECK( 1e-10 == value2 );
CHECK( iter == end );
}
}
}
} // THEN
} // WHEN
} // GIVEN

GIVEN( "data" ) {

Expand All @@ -96,7 +96,7 @@ SCENARIO( "Record" ) {
Integer< 4 >,
Character< 5 > >::write( iter, f, i, s );
CHECK( " 2.0000E+00 4 abc\n" == buffer );
}
}
}
} // THEN
} // WHEN
} // GIVEN
} // SCENARIO
2 changes: 1 addition & 1 deletion src/tools/disco/Scientific/test/Scientific.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,5 +121,5 @@ SCENARIO( "Scientific" ) {
Scientific< 12, 5 >::write( value, iter );
CHECK( " -Inf" == buffer );
CHECK( 12 == buffer.size() );
}
} // THEN
} // SCENARIO

0 comments on commit f073483

Please sign in to comment.