Mercurial > hg > orthanc-stone
comparison Resources/CodeGeneration/stonegentool_test.py @ 486:8e40355a172b bgo-commands-codegen
Unit tests OK for preambles, enums and structs in both TS and C++
author | bgo-osimis |
---|---|
date | Fri, 15 Feb 2019 14:30:26 +0100 |
parents | 772516adcbf6 |
children | f6b7f113cf27 |
comparison
equal
deleted
inserted
replaced
485:772516adcbf6 | 486:8e40355a172b |
---|---|
105 def test_GenerateTypeScriptEnumeration(self): | 105 def test_GenerateTypeScriptEnumeration(self): |
106 fn = os.path.join(os.path.dirname(__file__), 'test', 'test1.jsonc') | 106 fn = os.path.join(os.path.dirname(__file__), 'test', 'test1.jsonc') |
107 obj = LoadSchema(fn) | 107 obj = LoadSchema(fn) |
108 (_,outputStreams,_) = ProcessSchema(obj) | 108 (_,outputStreams,_) = ProcessSchema(obj) |
109 | 109 |
110 tsRef = """// autogenerated by stonegentool on Fri Feb 15 07:36:51 2019 | 110 tsPreambleRef: str = "// autogenerated by stonegentool on Fri Feb 15 07:36:51 2019\n" |
111 enum MovieType | 111 tsEnumsRef: str = """enum MovieType |
112 { | 112 { |
113 Romcom, | 113 Romcom, |
114 Horror, | 114 Horror, |
115 ScienceFiction, | 115 ScienceFiction, |
116 Vegetables | 116 Vegetables |
117 }; | 117 }; |
118 | 118 |
119 class A | 119 enum CrispType |
120 { | |
121 SaltAndPepper, | |
122 CreamAndChives, | |
123 Paprika, | |
124 Barbecue | |
125 }; | |
126 | |
127 """ | |
128 | |
129 tsStructsRef: str = """class A | |
120 { | 130 { |
121 public Array<string> someStrings; | 131 public Array<string> someStrings; |
122 public Array<number> someInts2; | 132 public Array<number> someInts2; |
123 }; | 133 }; |
124 | 134 |
133 public Array<B> someBs; | 143 public Array<B> someBs; |
134 public Array<D> ddd; | 144 public Array<D> ddd; |
135 }; | 145 }; |
136 | 146 |
137 """ | 147 """ |
138 tsRef = RemoveDateTimeLine(tsRef) | 148 |
139 tsActual = RemoveDateTimeLine(outputStreams['ts'].getvalue()) | 149 tsPreambleRefCastrated: str = RemoveDateTimeLine(tsPreambleRef) |
140 | 150 tsPreambleCastrated: str = RemoveDateTimeLine(outputStreams.tsPreamble.getvalue()) |
141 self.assertEqual(tsActual,tsRef) | 151 self.assertEqual(tsPreambleRefCastrated,tsPreambleCastrated) |
152 self.assertEqual(tsEnumsRef,outputStreams.tsEnums.getvalue()) | |
153 self.assertEqual(tsStructsRef,outputStreams.tsStructs.getvalue()) | |
142 | 154 |
143 cppRef="""// autogenerated by stonegentool on Fri Feb 15 07:36:51 2019 | 155 cppPreambleRef: str = """// autogenerated by stonegentool on Fri Feb 15 07:36:51 2019 |
144 #include <cstdint> | 156 #include <cstdint> |
145 #include <string> | 157 #include <string> |
146 #include <vector> | 158 #include <vector> |
147 #include <map> | 159 #include <map> |
148 enum MovieType | 160 |
161 """ | |
162 | |
163 cppEnumsRef: str = """enum MovieType | |
149 { | 164 { |
150 Romcom, | 165 Romcom, |
151 Horror, | 166 Horror, |
152 ScienceFiction, | 167 ScienceFiction, |
153 Vegetables | 168 Vegetables |
154 }; | 169 }; |
155 | 170 |
156 struct A | 171 enum CrispType |
172 { | |
173 SaltAndPepper, | |
174 CreamAndChives, | |
175 Paprika, | |
176 Barbecue | |
177 }; | |
178 | |
179 """ | |
180 cppStructsRef: str = """struct A | |
157 { | 181 { |
158 std::vector<string> someStrings; | 182 std::vector<string> someStrings; |
159 std::vector<int32_t> someInts2; | 183 std::vector<int32_t> someInts2; |
160 }; | 184 }; |
161 | 185 |
170 std::vector<B> someBs; | 194 std::vector<B> someBs; |
171 std::vector<D> ddd; | 195 std::vector<D> ddd; |
172 }; | 196 }; |
173 | 197 |
174 """ | 198 """ |
175 cppRef = RemoveDateTimeLine(cppRef) | 199 cppPreambleRefCastrated: str = RemoveDateTimeLine(cppPreambleRef) |
176 cppActual = RemoveDateTimeLine(outputStreams['cpp'].getvalue()) | 200 cppPreambleCastrated: str = RemoveDateTimeLine(outputStreams.cppPreamble.getvalue()) |
177 | 201 self.assertEqual(cppPreambleRefCastrated,cppPreambleCastrated) |
178 self.assertEqual(cppActual,cppRef) | 202 self.assertEqual(cppEnumsRef,outputStreams.cppEnums.getvalue()) |
179 pass | 203 self.assertEqual(cppStructsRef,outputStreams.cppStructs.getvalue()) |
180 | 204 |
181 def test_GenerateCppEnumeration(self): | 205 def test_GenerateCppEnumeration(self): |
182 pass | 206 pass |
183 | 207 |
184 def test_GenerateTypeScriptClasses(self): | 208 def test_GenerateTypeScriptClasses(self): |
206 # with self.assertRaises(TypeError): | 230 # with self.assertRaises(TypeError): |
207 # s.split(2) | 231 # s.split(2) |
208 | 232 |
209 if __name__ == '__main__': | 233 if __name__ == '__main__': |
210 unittest.main() | 234 unittest.main() |
235 |