diff --git a/core-writer/test/test_BufferedWriter.cpp b/core-writer/test/test_BufferedWriter.cpp index 2f47e81..b395241 100644 --- a/core-writer/test/test_BufferedWriter.cpp +++ b/core-writer/test/test_BufferedWriter.cpp @@ -2,73 +2,7 @@ #include "BufferedWriter.hpp" using namespace std; -TEST(BufferedWriter, get_buffered_writer) +TEST(BufferedWriter, basic_interaction) { - auto header_values = shared_ptr>(new unordered_map { - {"frame", HeaderDataType("uint64")}, - {"module_number", HeaderDataType("uint64", 2)} - }); - auto metadata_buffer1 = unique_ptr(new MetadataBuffer(1, header_values)); - - auto dummy_writer = get_buffered_writer("/dev/null", 10, move(metadata_buffer1)); - EXPECT_TRUE(dynamic_cast(dummy_writer.get())); - - auto metadata_buffer2 = unique_ptr(new MetadataBuffer(1, header_values)); - - auto real_writer = get_buffered_writer("real_file.h5", 10, move(metadata_buffer2)); - EXPECT_FALSE(dynamic_cast(real_writer.get())); -} - -TEST(BufferedWriter, DummyBufferedWriter) -{ - DummyBufferedWriter dummy_writer; - - EXPECT_FALSE(dummy_writer.is_file_open()); - - EXPECT_TRUE(dummy_writer.is_data_for_current_file(12345678)); - - EXPECT_NO_THROW(dummy_writer.cache_metadata("test", 10, nullptr)); - - EXPECT_NO_THROW(dummy_writer.write_metadata_to_file()); - - EXPECT_NO_THROW(dummy_writer.close_file()); - - EXPECT_THROW(dummy_writer.get_h5_file(), runtime_error); - - unique_ptr buffer(new char[1]); - vector shape = {1}; - - EXPECT_NO_THROW(dummy_writer.write_data("does not matter", 0, buffer.get(), shape, 0, "nop", "nop")); -} - -TEST(BufferedWriter, process_manager_workflow) -{ - auto header_values = shared_ptr>(new unordered_map { - {"frame", HeaderDataType("uint64")}, - {"module_number", HeaderDataType("uint64", 2)} - }); - - auto metadata_buffer = unique_ptr(new MetadataBuffer(1, header_values)); - auto writer = get_buffered_writer("/dev/null", 10, move(metadata_buffer)); - - ASSERT_NO_THROW(writer->create_file()); - - EXPECT_TRUE(writer->is_data_for_current_file(0)); - EXPECT_TRUE(writer->is_data_for_current_file(123456)); - - // This 2 should not happen, because is_data_for_current_file should always return true. - ASSERT_NO_THROW(writer->write_metadata_to_file()); - ASSERT_THROW(writer->get_h5_file(), runtime_error); - - unique_ptr buffer(new char[1]); - vector shape = {1}; - EXPECT_NO_THROW(writer->write_data("does not matter", 0, buffer.get(), shape, 0, "nop", "nop")); - - EXPECT_NO_THROW(writer->cache_metadata("test", 10, nullptr)); - - // This is important to prevent get_h5_file from being called. - EXPECT_FALSE(writer->is_file_open()); - - EXPECT_NO_THROW(writer->close_file()); } \ No newline at end of file diff --git a/core-writer/test/test_H5Writer.cpp b/core-writer/test/test_H5Writer.cpp index fae4508..5628302 100644 --- a/core-writer/test/test_H5Writer.cpp +++ b/core-writer/test/test_H5Writer.cpp @@ -2,27 +2,7 @@ #include "H5Writer.hpp" using namespace std; -TEST(H5Writer, get_h5_writer) +TEST(H5Writer, basic_interaction) { - auto dummy_writer = get_h5_writer("/dev/null"); - EXPECT_TRUE(dynamic_cast(dummy_writer.get())); - auto real_writer = get_h5_writer("real_file.h5"); - EXPECT_FALSE(dynamic_cast(real_writer.get())); } - -TEST(H5Writer, DummyH5Writer) -{ - DummyH5Writer dummy_writer; - - EXPECT_FALSE(dummy_writer.is_file_open()); - - EXPECT_NO_THROW(dummy_writer.close_file()); - - EXPECT_THROW(dummy_writer.get_h5_file(), runtime_error); - - unique_ptr buffer(new char[1]); - vector shape = {1}; - - EXPECT_NO_THROW(dummy_writer.write_data("does not matter", 0, buffer.get(), shape, 0, "nop", "nop")); -} \ No newline at end of file diff --git a/core-writer/test/test_MetadataBuffer.cpp b/core-writer/test/test_MetadataBuffer.cpp index d46463a..e1cc3f4 100644 --- a/core-writer/test/test_MetadataBuffer.cpp +++ b/core-writer/test/test_MetadataBuffer.cpp @@ -8,12 +8,14 @@ TEST(MetadataBuffer, basic_operations) int n_frames = 10; int n_modules = 3; - auto header_values = shared_ptr>(new unordered_map { + unordered_map header_values { {"frame", HeaderDataType("uint64")}, {"module_number", HeaderDataType("uint64", n_modules)} - }); + }; - MetadataBuffer metadata_buffer(n_frames, header_values); + MetadataBuffer metadata_buffer( + static_cast(n_frames), + header_values); uint64_t base_frame_data = 12345678; uint64_t base_module_number = 0; @@ -49,10 +51,10 @@ TEST(MetadataBuffer, missing_keys) int n_frames = 10; int n_modules = 3; - auto header_values = shared_ptr>(new unordered_map { + unordered_map header_values = { {"frame", HeaderDataType("uint64")}, {"module_number", HeaderDataType("uint64", n_modules)} - }); + }; MetadataBuffer metadata_buffer(n_frames, header_values); @@ -61,7 +63,13 @@ TEST(MetadataBuffer, missing_keys) metadata_buffer.add_metadata_to_buffer("frame", 0, (char*)&data); metadata_buffer.get_metadata_values("frame"); - EXPECT_THROW(metadata_buffer.get_metadata_values("non_existant"), runtime_error); - EXPECT_THROW(metadata_buffer.add_metadata_to_buffer("non_existant", 0, nullptr), runtime_error); - EXPECT_THROW(metadata_buffer.add_metadata_to_buffer("frame", n_frames, nullptr), runtime_error); + EXPECT_THROW( + metadata_buffer.get_metadata_values("non_existant"), + runtime_error); + EXPECT_THROW( + metadata_buffer.add_metadata_to_buffer("non_existant", 0, nullptr), + runtime_error); + EXPECT_THROW( + metadata_buffer.add_metadata_to_buffer("frame", n_frames, nullptr), + runtime_error); } \ No newline at end of file