Ejemplo n.º 1
0
 def test_create_missing_types__raises_error_if_primary_type_is_missing(
         self):
     # -- HINT: primary type is not provided in type_dict (existing_types)
     existing_types = {}
     for schema, missing_types in self.SPECIAL_FIELD_TYPES_DATA:
         with self.assertRaises(MissingTypeError):
             Parser.create_missing_types(schema, existing_types)
Ejemplo n.º 2
0
    def test_create_missing_types__if_special_types_exist(self):
        existing_types = dict(Number=parse_number)
        for schema, missing_types in self.SPECIAL_FIELD_TYPES_DATA:
            # -- FIRST STEP: Prepare
            new_types = Parser.create_missing_types(schema, existing_types)
            self.assertGreater(len(new_types), 0)

            # -- SECOND STEP: Now all needed special types should exist.
            existing_types2 = existing_types.copy()
            existing_types2.update(new_types)
            new_types2 = Parser.create_missing_types(schema, existing_types2)
            self.assertEqual(len(new_types2), 0)
Ejemplo n.º 3
0
    def test_create_missing_types__if_special_types_exist(self):
        existing_types = dict(Number=parse_number)
        for schema, missing_types in self.SPECIAL_FIELD_TYPES_DATA:
            # -- FIRST STEP: Prepare
            new_types = Parser.create_missing_types(schema, existing_types)
            self.assertGreater(len(new_types), 0)

            # -- SECOND STEP: Now all needed special types should exist.
            existing_types2 = existing_types.copy()
            existing_types2.update(new_types)
            new_types2 = Parser.create_missing_types(schema, existing_types2)
            self.assertEqual(len(new_types2), 0)
Ejemplo n.º 4
0
 def test_create_missing_types__without_cardinality_fields_in_schema(self):
     schemas = ["{}", "{:Number}", "{number3}", "{number4:Number}", "XXX"]
     existing_types = {}
     for schema in schemas:
         new_types = Parser.create_missing_types(schema, existing_types)
         self.assertEqual(len(new_types), 0)
         self.assertEqual(new_types, {})
Ejemplo n.º 5
0
 def test_create_missing_types__without_cardinality_fields_in_schema(self):
     schemas = ["{}", "{:Number}", "{number3}", "{number4:Number}", "XXX"]
     existing_types = {}
     for schema in schemas:
         new_types = Parser.create_missing_types(schema, existing_types)
         self.assertEqual(len(new_types), 0)
         self.assertEqual(new_types, {})
Ejemplo n.º 6
0
 def test_create_missing_types__if_special_types_are_missing(self):
     existing_types = dict(Number=parse_number)
     for schema, missing_types in self.SPECIAL_FIELD_TYPES_DATA:
         new_types = Parser.create_missing_types(schema, existing_types)
         self.assertSequenceEqual(set(new_types.keys()), set(missing_types))
Ejemplo n.º 7
0
 def test_create_missing_types__if_special_types_are_missing(self):
     existing_types = dict(Number=parse_number)
     for schema, missing_types in self.SPECIAL_FIELD_TYPES_DATA:
         new_types = Parser.create_missing_types(schema, existing_types)
         self.assertSequenceEqual(set(new_types.keys()), set(missing_types))
Ejemplo n.º 8
0
 def test_create_missing_types__raises_error_if_primary_type_is_missing(self):
     # -- HINT: primary type is not provided in type_dict (existing_types)
     existing_types = {}
     for schema, missing_types in self.SPECIAL_FIELD_TYPES_DATA:
         with self.assertRaises(MissingTypeError):
             Parser.create_missing_types(schema, existing_types)