summaryrefslogtreecommitdiff
path: root/tests/codec-netcdf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codec-netcdf.cpp')
-rw-r--r--tests/codec-netcdf.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/codec-netcdf.cpp b/tests/codec-netcdf.cpp
index 11e53c3..67dc122 100644
--- a/tests/codec-netcdf.cpp
+++ b/tests/codec-netcdf.cpp
@@ -43,6 +43,28 @@ std::array<uint8_t,156> tests_data_array_nc = {
0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0e
};
+SAW_TEST("NetCDF Struct Primitive write"){
+ using namespace saw;
+
+ data<schema::TestStruct, encode::Native> native;
+
+ native.get<"data">().set(5);
+ native.get<"other">().set(32.0);
+
+ codec<schema::TestStruct, encode::Netcdf> codec;
+
+ data<schema::TestStruct, encode::Netcdf> netcdf;
+
+ auto eov = codec.encode(native, netcdf);
+ SAW_EXPECT(eov.is_value(), "Encoding failed");
+ auto& nc_data = netcdf.get_data();
+ SAW_EXPECT(nc_data.size() == tests_data_primitive_nc.size(), "Incorrect size");
+
+ for(std::size_t i = 0; i < nc_data.size(); ++i){
+ SAW_EXPECT(nc_data.at(i) == tests_data_primitive_nc.at(i), "Incorrect Value");
+ }
+}
+
SAW_TEST("NetCDF Struct Primitive read"){
using namespace saw;