Salome HOME
bug design dialog change coordinates
[modules/hydrosolver.git] / tests / boundaryConditionsTest.py
1 import os
2 import sys
3 import tempfile
4 import filecmp
5
6 import unittest
7
8 cur_dir = os.path.dirname(os.path.realpath(__file__))
9 data_dir = os.path.join(cur_dir, "data")
10
11 #import sysconfig
12 #pythonVersion = 'python' + sysconfig.get_python_version()
13 #hydro_solver_root = os.path.join(os.environ['HYDROSOLVER_ROOT_DIR'], 'lib', pythonVersion, 'site-packages', 'salome', 'salome', 'hydro')
14 import boundaryConditions
15
16
17 class TestBoundaryConditions(unittest.TestCase):
18     def testReadPresets(self):
19         file_path = os.path.join(data_dir, "bnd_conditions_presets.txt")
20         reader = boundaryConditions.PresetReader(file_path)
21         presets = reader.read()
22         self.assertEqual(3, len(presets))
23
24         self.assertEqual(True, "Closed boundaries/walls" in presets)
25         self.assertEqual((2,2,2,2), presets["Closed boundaries/walls"])
26
27         self.assertEqual(True, "Incident waves" in presets)
28         self.assertEqual((1,1,1,None), presets["Incident waves"])
29
30         self.assertEqual(True, "Free T" in presets)
31         self.assertEqual((None,None,None,4), presets["Free T"])
32
33     def testRead(self):
34         file_path = os.path.join(data_dir, "bnd_conditions1.cli")
35         reader = boundaryConditions.BoundaryConditionReader(file_path)
36         conditions = reader.read()
37         self.assertEqual(7, len(conditions))
38         self.assertEqual(0, len(reader.errors))
39
40     def testWrite(self):
41         file_path = os.path.join(tempfile.gettempdir(), "bnd_conditions_w.cli")
42         writer = boundaryConditions.BoundaryConditionWriter(file_path)
43
44         cnd1 = boundaryConditions.BoundaryCondition(5, 4, 4, 4, "group1")
45         cnd2 = boundaryConditions.BoundaryCondition(4, 5, 5, 5, "group2")
46
47         writer.write([cnd1, cnd2])
48         self.assertEqual(True, os.path.exists(file_path))
49         self.assertEqual(0, len(writer.errors))
50
51         os.remove(file_path)
52
53     def testReadWrite(self):
54         input_file_path = os.path.join(data_dir, "bnd_conditions1.cli")
55         reader = boundaryConditions.BoundaryConditionReader(input_file_path)
56         conditions = reader.read()
57
58         output_file_path = os.path.join(tempfile.gettempdir(), "bnd_conditions1_w.cli")
59         writer = boundaryConditions.BoundaryConditionWriter(output_file_path)
60         writer.write(conditions)
61
62         try:
63             self.assertEqual(True, filecmp.cmp(input_file_path, output_file_path))
64         finally:
65             os.remove(output_file_path)
66
67 unittest.main()