예제 #1
0
 def testNoStd(self):
     self.assertEqual(
         False, CheckPolicy.Policy("vector<bool>", lambda type: False))
     self.assertEqual(
         False,
         CheckPolicy.Policy("map<string, complex128>", lambda type: False))
     self.assertEqual(False, CheckPolicy.Policy("int", lambda type: False))
예제 #2
0
 def testAnyArray(self):
     self.assertEqual(
         True, CheckPolicy.Policy("std::array<bool, 23>",
                                  lambda type: False))
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::array<complex64, 1>", lambda type: False))
예제 #3
0
 def testAnyVector(self):
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::vector<std::int32_t>",
                            lambda type: False))
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::vector<bfloat16>", lambda type: False))
예제 #4
0
 def testWrongNumberOfArguments(self):
     self.assertEqual(
         False,
         CheckPolicy.Policy("std::vector<bool, bool>", lambda type: False))
     self.assertEqual(
         False,
         CheckPolicy.Policy("std::map<bool, bool, bool>",
                            lambda type: False))
예제 #5
0
 def testAnyOptional(self):
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::optional<std::int32_t>",
                            lambda type: False))
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::optional<bfloat16>", lambda type: False))
예제 #6
0
 def testValidRecursiveStruct(self):
     self.assertEqual(
         True,
         CheckPolicy.Policy(
             "std::map<std::vector<validStruct>, std::int64_t>",
             lambda type: True))
     self.assertEqual(
         True,
         CheckPolicy.Policy(
             "std::map<std::vector<std::array<std::map<validStruct1, validStruct2> 3>>, std::int64_t>",
             lambda type: True))
예제 #7
0
 def testAnyMap(self):
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::map<bool, std::int64_t>",
                            lambda type: False))
     self.assertEqual(
         True, CheckPolicy.Policy("std::map<bool, bool>",
                                  lambda type: False))
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::map<std::string, complex128>",
                            lambda type: False))
예제 #8
0
 def testFunction(self):
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::function<bfloat16(bool)>",
                            lambda type: False))
     self.assertEqual(
         True,
         CheckPolicy.Policy(
             "std::function<complex64(bool, std::string, std::int64_t)>",
             lambda type: False))
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::function<std::string()>",
                            lambda type: False))
예제 #9
0
 def testRecursive(self):
     self.assertEqual(
         True,
         CheckPolicy.Policy("std::map<std::vector<bool>, std::int64_t>",
                            lambda type: False))
     self.assertEqual(
         True,
         CheckPolicy.Policy(
             "std::map<std::vector<std::array<bool, 3>>, std::int64_t>",
             lambda type: False))
     self.assertEqual(
         True,
         CheckPolicy.Policy(
             "std::map<std::vector<std::array<std::map<std::string, complex128> 3>>, std::int64_t>",
             lambda type: False))
     self.assertEqual(
         True,
         CheckPolicy.Policy(
             "std::function<complex64(std::vector<std::map<bool, std::int32_t>>, std::string, std::int64_t)>",
             lambda type: False))
예제 #10
0
 def testComplex(self):
     self.assertEqual(True,
                      CheckPolicy.Policy("complex64", lambda type: False))
예제 #11
0
 def testWrongTypes(self):
     self.assertEqual(False, CheckPolicy.Policy("T", lambda type: False))
     self.assertEqual(False,
                      CheckPolicy.Policy("std::int300", lambda type: False))
예제 #12
0
 def testFloat(self):
     self.assertEqual(True, CheckPolicy.Policy("float32",
                                               lambda type: False))
예제 #13
0
 def testString(self):
     self.assertEqual(True,
                      CheckPolicy.Policy("std::string", lambda type: False))
예제 #14
0
 def testValidStruct(self):
     self.assertEqual(True,
                      CheckPolicy.Policy("validStruct", lambda type: True))
예제 #15
0
 def testStringArray(self):
     self.assertEqual(
         True, CheckPolicy.Policy("std::array<char, 3>",
                                  lambda type: False))
예제 #16
0
 def testStar(self):
     self.assertEqual(
         False, CheckPolicy.Policy("std::int64_t *", lambda type: False))
예제 #17
0
 def testBool(self):
     self.assertEqual(True, CheckPolicy.Policy("bool", lambda type: False))
예제 #18
0
 def testInvalidRecursive(self):
     self.assertEqual(
         False,
         CheckPolicy.Policy(
             "std::map<std::vector<std::array<std::map<std::string, 3, 3>>, std::int64_t>",
             lambda type: False))
예제 #19
0
 def testInvalidStruct(self):
     self.assertEqual(
         False, CheckPolicy.Policy("invalidStruct", lambda type: False))
예제 #20
0
 def testInt64(self):
     self.assertEqual(
         True, CheckPolicy.Policy("std::int64_t", lambda type: False))
예제 #21
0
 def testBFloat(self):
     self.assertEqual(True,
                      CheckPolicy.Policy("bfloat16", lambda type: False))