1 module dsurf.tests.io.iraploader;
2 
3 import std.math;
4 
5 import dsurf.cartesian;
6 import dsurf.io.iraploader;
7 
8 unittest {
9     auto loader = new IrapLoader;
10 
11     assert(loader.canLoad("./test/test_pet_rect_blank.irap"));
12 
13     assert(!loader.canLoad("./test/test_pet_rect_blank.cps"));
14     assert(!loader.canLoad("./test/test_pet_rect_blank.zmap"));
15     assert(!loader.canLoad("./test/notexist"));
16     
17     auto surface = loader.load("./test/test_pet_rect_blank.irap");
18     
19     assert(surface.nx == 5);
20     assert(surface.ny == 3);
21     assert(surface.dx == 250);
22     assert(surface.dy == 500);
23     assert(surface.xOrigin == 5000);
24     assert(surface.yOrigin == 0);
25     assert(surface.z[0][0] == 1);
26     assert(surface.z[1][0] == 4);
27     assert(surface.z[0][1] == 2);
28     assert(surface.z[1][1] == 5);
29     assert(isNaN(surface.z[$ - 1][$ - 1]));
30     assert(isNaN(surface.z[$ - 1][0]));
31 }
32 
33 unittest {
34     auto loader = new IrapLoader;
35 
36     assert(loader.canLoad("./test/test_pet_sq.irap"));
37 
38     assert(!loader.canLoad("./test/test_pet_sq.cps"));
39     assert(!loader.canLoad("./test/test_pet_sq.zmap"));
40     assert(!loader.canLoad("./test/notexist"));
41 
42     auto surface = loader.load("./test/test_pet_sq.irap");
43     assert(surface.nx == 3);
44     assert(surface.ny == 3);
45     assert(surface.dx == 500);
46     assert(surface.dy == 500);
47     assert(surface.xOrigin == 5000);
48     assert(surface.yOrigin == 0);
49     assert(surface.z[0][0] == 0);
50     assert(surface.z[$ - 1][$ - 1] == 8);
51 }
52 
53 unittest {
54     auto loader = new IrapLoader;
55     
56     assert(loader.canLoad("./test/test_rms_sq.irap"));
57 
58     assert(!loader.canLoad("./test/test_rms_sq.cps"));
59     assert(!loader.canLoad("./test/test_rms_sq.zmap"));
60     assert(!loader.canLoad("./test/notexist"));
61     
62     auto surface = loader.load("./test/test_rms_sq.irap");
63     
64     assert(surface.nx == 3);
65     assert(surface.ny == 3);
66     assert(surface.dx == 500);
67     assert(surface.dy == 500);
68     assert(surface.xOrigin == 5000);
69     assert(surface.yOrigin == 0);
70     assert(surface.z[0][0] == 0);
71     assert(surface.z[$ - 1][$ - 1] == 8);
72 }
73 
74 unittest {
75     auto loader = new IrapLoader;
76     
77     assert(loader.canLoad("./test/test_rms_rect.irap"));
78 
79     assert(!loader.canLoad("./test/test_rms_rect.cps"));
80     assert(!loader.canLoad("./test/test_rms_rect.zmap"));
81     assert(!loader.canLoad("./test/notexist"));
82     
83     auto surface = loader.load("./test/test_rms_rect.irap");
84     
85     assert(surface.nx == 5);
86     assert(surface.ny == 3);
87     assert(surface.dx == 250);
88     assert(surface.dy == 500);
89     assert(surface.xOrigin == 5000);
90     assert(surface.yOrigin == 0);
91     assert(surface.z[0][0] == 1);
92     assert(surface.z[$ - 1][$ - 1] == 15);
93 }