8 cur_dir = os.path.dirname(os.path.realpath(__file__))
9 data_dir = os.path.join(cur_dir, "data")
11 sys.path.append(os.path.join(cur_dir, "..", "src", "HYDROTools"))
12 import boundaryConditions
15 class TestBoundaryConditions(unittest.TestCase):
16 def testReadPresets(self):
17 file_path = os.path.join(data_dir, "bnd_conditions_presets.txt")
18 reader = boundaryConditions.PresetReader(file_path)
19 presets = reader.read()
20 self.assertEqual(3, len(presets))
22 self.assertEqual(True, presets.has_key("Closed boundaries/walls"))
23 self.assertEqual((2,2,2,2), presets["Closed boundaries/walls"])
25 self.assertEqual(True, presets.has_key("Incident waves"))
26 self.assertEqual((1,1,1,None), presets["Incident waves"])
28 self.assertEqual(True, presets.has_key("Free T"))
29 self.assertEqual((None,None,None,4), presets["Free T"])
32 file_path = os.path.join(data_dir, "bnd_conditions1.cli")
33 reader = boundaryConditions.BoundaryConditionReader(file_path)
34 conditions = reader.read()
35 self.assertEqual(7, len(conditions))
36 self.assertEqual(0, len(reader.errors))
39 file_path = os.path.join(tempfile.gettempdir(), "bnd_conditions_w.cli")
40 writer = boundaryConditions.BoundaryConditionWriter(file_path)
42 cnd1 = boundaryConditions.BoundaryCondition(5, 4, 4, 4, "group1")
43 cnd2 = boundaryConditions.BoundaryCondition(4, 5, 5, 5, "group2")
45 writer.write([cnd1, cnd2])
46 self.assertEqual(True, os.path.exists(file_path))
47 self.assertEqual(0, len(writer.errors))
51 def testReadWrite(self):
52 input_file_path = os.path.join(data_dir, "bnd_conditions1.cli")
53 reader = boundaryConditions.BoundaryConditionReader(input_file_path)
54 conditions = reader.read()
56 output_file_path = os.path.join(tempfile.gettempdir(), "bnd_conditions1_w.cli")
57 writer = boundaryConditions.BoundaryConditionWriter(output_file_path)
58 writer.write(conditions)
61 self.assertEqual(True, filecmp.cmp(input_file_path, output_file_path))
63 os.remove(output_file_path)