/** * This tests the HDF5 to .txt converter using a 3D example * taken from a bidomain simulation. */ void TestBidomainTxtConversion3D() throw(Exception) { std::string working_directory = "TestHdf5ToTxtConverter_bidomain"; /* * Firstly, copy the .h5 file to CHASTE_TEST_OUTPUT/TestHdf5ToTxtConverter_bidomain, * as that is where the reader reads from. */ CopyToTestOutputDirectory("pde/test/data/cube_2mm_12_elements.h5", working_directory); TrianglesMeshReader<3,3> mesh_reader("mesh/test/data/cube_2mm_12_elements"); TetrahedralMesh<3,3> mesh; mesh.ConstructFromMeshReader(mesh_reader); // Convert Hdf5ToTxtConverter<3,3> converter(FileFinder(working_directory, RelativeTo::ChasteTestOutput), "cube_2mm_12_elements", &mesh); std::vector<std::string> files_to_compare; files_to_compare.push_back("cube_2mm_12_elements_V_0.txt"); files_to_compare.push_back("cube_2mm_12_elements_V_1.txt"); files_to_compare.push_back("cube_2mm_12_elements_Phi_e_0.txt"); files_to_compare.push_back("cube_2mm_12_elements_Phi_e_1.txt"); for (unsigned i=0; i<files_to_compare.size(); i++) { std::cout << "Comparing generated and reference " << files_to_compare[i] << std::endl; FileFinder generated_file(working_directory +"/txt_output/" + files_to_compare[i], RelativeTo::ChasteTestOutput); FileFinder reference_file("pde/test/data/" + files_to_compare[i], RelativeTo::ChasteSourceRoot); NumericFileComparison comparer(generated_file, reference_file); TS_ASSERT(comparer.CompareFiles()); } }
/** * This tests the HDF5 to XDMF converter */ void TestHdf5ToXdmfConverter() throw(Exception) { #ifndef _MSC_VER std::string working_directory = "TestHdf5Converters_TestHdf5ToXdmfConverter"; CopyToTestOutputDirectory("pde/test/data/cube_2mm_12_elements.h5", working_directory); TrianglesMeshReader<3,3> mesh_reader("mesh/test/data/cube_2mm_12_elements"); TetrahedralMesh<3,3> mesh; mesh.ConstructFromMeshReader(mesh_reader); // Convert Hdf5ToXdmfConverter<3,3> converter(FileFinder(working_directory, RelativeTo::ChasteTestOutput), "cube_2mm_12_elements", &mesh); std::vector<std::string> files_to_compare; files_to_compare.push_back("cube_2mm_12_elements.xdmf"); files_to_compare.push_back("cube_2mm_12_elements_geometry_0.xml"); files_to_compare.push_back("cube_2mm_12_elements_topology_0.xml"); for (unsigned i=0; i<files_to_compare.size(); i++) { std::cout << "Comparing generated and reference " << files_to_compare[i] << std::endl; FileFinder generated_file(working_directory +"/xdmf_output/" + files_to_compare[i], RelativeTo::ChasteTestOutput); FileFinder reference_file("pde/test/data/xdmf_output/" + files_to_compare[i], RelativeTo::ChasteSourceRoot); FileComparison comparer(generated_file, reference_file); TS_ASSERT(comparer.CompareFiles()); } #endif // _MSC_VER }
void TestCellCycleModelOutputParameters() { std::string output_directory = "TestCellCycleModelOutputParameters"; OutputFileHandler output_file_handler(output_directory, false); // Test with Alarcon2004OxygenBasedCellCycleModel Alarcon2004OxygenBasedCellCycleModel alarcon_oxygen_based_cell_cycle_model; TS_ASSERT_EQUALS(alarcon_oxygen_based_cell_cycle_model.GetIdentifier(), "Alarcon2004OxygenBasedCellCycleModel"); out_stream alarcon_oxygen_based_parameter_file = output_file_handler.OpenOutputFile("alarcon_oxygen_based_results.parameters"); alarcon_oxygen_based_cell_cycle_model.OutputCellCycleModelParameters(alarcon_oxygen_based_parameter_file); alarcon_oxygen_based_parameter_file->close(); { FileFinder generated_file = output_file_handler.FindFile("alarcon_oxygen_based_results.parameters"); FileFinder reference_file("cell_based/test/data/TestCellCycleModels/alarcon_oxygen_based_results.parameters", RelativeTo::ChasteSourceRoot); FileComparison comparer(generated_file,reference_file); TS_ASSERT(comparer.CompareFiles()); } // Test with TysonNovakCellCycleModel TysonNovakCellCycleModel tyson_novak_based_cell_cycle_model; TS_ASSERT_EQUALS(tyson_novak_based_cell_cycle_model.GetIdentifier(), "TysonNovakCellCycleModel"); out_stream tyson_novak_based_parameter_file = output_file_handler.OpenOutputFile("tyson_novak_based_results.parameters"); tyson_novak_based_cell_cycle_model.OutputCellCycleModelParameters(tyson_novak_based_parameter_file); tyson_novak_based_parameter_file->close(); { FileFinder generated_file = output_file_handler.FindFile("tyson_novak_based_results.parameters"); FileFinder reference_file("cell_based/test/data/TestCellCycleModels/tyson_novak_based_results.parameters", RelativeTo::ChasteSourceRoot); FileComparison comparer(generated_file,reference_file); TS_ASSERT(comparer.CompareFiles()); } }