diff 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
line wrap: on
line diff
--- a/Resources/CodeGeneration/stonegentool_test.py	Fri Feb 15 12:07:09 2019 +0100
+++ b/Resources/CodeGeneration/stonegentool_test.py	Fri Feb 15 14:30:26 2019 +0100
@@ -107,8 +107,8 @@
     obj = LoadSchema(fn)
     (_,outputStreams,_) = ProcessSchema(obj)
 
-    tsRef = """// autogenerated by stonegentool on Fri Feb 15 07:36:51 2019
-enum MovieType
+    tsPreambleRef: str = "// autogenerated by stonegentool on Fri Feb 15 07:36:51 2019\n"
+    tsEnumsRef: str = """enum MovieType
 {
     Romcom,
     Horror,
@@ -116,7 +116,17 @@
     Vegetables
 };
 
-class A
+enum CrispType
+{
+    SaltAndPepper,
+    CreamAndChives,
+    Paprika,
+    Barbecue
+};
+
+"""
+
+    tsStructsRef: str = """class A
 {
     public Array<string> someStrings;
     public Array<number> someInts2;
@@ -135,17 +145,22 @@
 };
 
 """
-    tsRef = RemoveDateTimeLine(tsRef)
-    tsActual = RemoveDateTimeLine(outputStreams['ts'].getvalue())
 
-    self.assertEqual(tsActual,tsRef)
+    tsPreambleRefCastrated: str = RemoveDateTimeLine(tsPreambleRef)
+    tsPreambleCastrated: str = RemoveDateTimeLine(outputStreams.tsPreamble.getvalue())
+    self.assertEqual(tsPreambleRefCastrated,tsPreambleCastrated)
+    self.assertEqual(tsEnumsRef,outputStreams.tsEnums.getvalue())
+    self.assertEqual(tsStructsRef,outputStreams.tsStructs.getvalue())
   
-    cppRef="""// autogenerated by stonegentool on Fri Feb 15 07:36:51 2019
+    cppPreambleRef: str = """// autogenerated by stonegentool on Fri Feb 15 07:36:51 2019
 #include <cstdint>
 #include <string>
 #include <vector>
 #include <map>
-enum MovieType
+
+"""
+
+    cppEnumsRef: str = """enum MovieType
 {
     Romcom,
     Horror,
@@ -153,7 +168,16 @@
     Vegetables
 };
 
-struct A
+enum CrispType
+{
+    SaltAndPepper,
+    CreamAndChives,
+    Paprika,
+    Barbecue
+};
+
+"""
+    cppStructsRef: str = """struct A
 {
     std::vector<string> someStrings;
     std::vector<int32_t> someInts2;
@@ -172,11 +196,11 @@
 };
 
 """  
-    cppRef = RemoveDateTimeLine(cppRef)
-    cppActual = RemoveDateTimeLine(outputStreams['cpp'].getvalue())
-
-    self.assertEqual(cppActual,cppRef)
-    pass
+    cppPreambleRefCastrated: str = RemoveDateTimeLine(cppPreambleRef)
+    cppPreambleCastrated: str = RemoveDateTimeLine(outputStreams.cppPreamble.getvalue())
+    self.assertEqual(cppPreambleRefCastrated,cppPreambleCastrated)
+    self.assertEqual(cppEnumsRef,outputStreams.cppEnums.getvalue())
+    self.assertEqual(cppStructsRef,outputStreams.cppStructs.getvalue())
 
   def test_GenerateCppEnumeration(self):
     pass
@@ -208,3 +232,4 @@
 
 if __name__ == '__main__':
   unittest.main()
+