Skip to content

Commit ad68150

Browse files
committed
Add test of the reading across the data-types
1 parent ea59b2c commit ad68150

File tree

1 file changed

+65
-1
lines changed

1 file changed

+65
-1
lines changed

test/APRTest.cpp

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class CreateAPRTest : public ::testing::Test {
5050

5151
};
5252

53+
5354
class CreateSmallSphereTest : public CreateAPRTest
5455
{
5556
public:
@@ -1490,6 +1491,67 @@ bool test_apr_tree(TestData& test_data) {
14901491
return success;
14911492
}
14921493

1494+
template<typename T>
1495+
bool check_particle_type(std::string& type_check){
1496+
1497+
//Test Basic IO
1498+
std::string file_name = "read_write_test.apr";
1499+
1500+
//First write a file
1501+
APRFile writeFile;
1502+
writeFile.open(file_name,"WRITE");
1503+
1504+
const size_t parts_num = 10;
1505+
1506+
ParticleData<T> part_write;
1507+
part_write.init(parts_num);
1508+
1509+
writeFile.write_particles("part_write",part_write);
1510+
1511+
writeFile.close();
1512+
1513+
//First read a file
1514+
APRFile readFile;
1515+
1516+
bool success = true;
1517+
1518+
readFile.open(file_name,"READ");
1519+
1520+
std::string read_type = readFile.get_particle_type("part_write");
1521+
1522+
readFile.close();
1523+
1524+
if(type_check != read_type){
1525+
success = false;
1526+
}
1527+
1528+
return success;
1529+
1530+
}
1531+
1532+
1533+
1534+
bool test_apr_file_particle_type(){
1535+
1536+
std::vector<std::string> type_list = {"uint16", "float", "uint8", "uint32", "uint64", "double", "int8", "int16", "int32", "int64"};
1537+
1538+
bool success = true;
1539+
1540+
success = success & check_particle_type<uint16_t>(type_list[0]);
1541+
success = success & check_particle_type<float>(type_list[1]);
1542+
success = success & check_particle_type<uint8_t>(type_list[2]);
1543+
success = success & check_particle_type<uint32_t>(type_list[3]);
1544+
success = success & check_particle_type<uint64_t>(type_list[4]);
1545+
success = success & check_particle_type<double>(type_list[5]);
1546+
success = success & check_particle_type<int8_t>(type_list[6]);
1547+
success = success & check_particle_type<int16_t>(type_list[7]);
1548+
success = success & check_particle_type<int32_t>(type_list[8]);
1549+
success = success & check_particle_type<int64_t>(type_list[9]);
1550+
1551+
return success;
1552+
}
1553+
1554+
14931555
bool test_apr_file(TestData& test_data){
14941556

14951557

@@ -4220,7 +4282,9 @@ TEST_F(CreateDiffDimsSphereTest, APR_FILTER) {
42204282
ASSERT_TRUE(test_convolve_pencil(test_data, true, {1, 1, 13}));
42214283
}
42224284

4223-
4285+
TEST_F(CreateAPRTest, READ_PARTICLE_TYPE){
4286+
ASSERT_TRUE(test_apr_file_particle_type());
4287+
}
42244288

42254289
int main(int argc, char **argv) {
42264290

0 commit comments

Comments
 (0)