def test_create_schema_view_using_invalid_type(): """ Exercises code paths unischema.create_schema_view ValueError, and unischema.__str__.""" TestSchema = Unischema('TestSchema', [ UnischemaField('int_field', np.int8, (), ScalarCodec(IntegerType()), False), UnischemaField('string_field', np.string_, (), ScalarCodec(StringType()), False), ]) with pytest.raises(ValueError, match='must be either a string'): TestSchema.create_schema_view([42])
def test_create_schema_view_fails_validate(): """ Exercises code paths unischema.create_schema_view ValueError, and unischema.__str__.""" TestSchema = Unischema('TestSchema', [ UnischemaField('int_field', np.int8, (), ScalarCodec(IntegerType()), False), UnischemaField('string_field', np.string_, (), ScalarCodec(StringType()), False), ]) with pytest.raises(ValueError, match='does not belong to the schema'): TestSchema.create_schema_view([UnischemaField('id', np.int64, (), ScalarCodec(LongType()), False)])
def test_create_schema_view_fails_validate(self): """ Exercises code paths unischema.create_schema_view ValueError, and unischema.__str__.""" TestSchema = Unischema('TestSchema', [ UnischemaField('int_field', np.int8, (), ScalarCodec(IntegerType()), False), UnischemaField('string_field', np.string_, (), ScalarCodec(StringType()), False), ]) with self.assertRaises(ValueError) as ex: TestSchema.create_schema_view([UnischemaField('id', np.int64, (), ScalarCodec(LongType()), False)]) self.assertTrue('does not belong to the schema' in str(ex.exception))
def test_create_schema_view_using_invalid_type(self): """ Exercises code paths unischema.create_schema_view ValueError, and unischema.__str__.""" TestSchema = Unischema('TestSchema', [ UnischemaField('int_field', np.int8, (), ScalarCodec(IntegerType()), False), UnischemaField('string_field', np.string_, (), ScalarCodec(StringType()), False), ]) with self.assertRaises(ValueError) as ex: TestSchema.create_schema_view([42]) self.assertTrue('must be either a string' in str(ex.exception))
def test_create_schema_view_using_regex(): TestSchema = Unischema('TestSchema', [ UnischemaField('int_field', np.int8, (), ScalarCodec(IntegerType()), False), UnischemaField('string_field', np.string_, (), ScalarCodec(StringType()), False), ]) view = TestSchema.create_schema_view(['int.*$']) assert set(view.fields.keys()) == {'int_field'} view = TestSchema.create_schema_view([u'int.*$']) assert set(view.fields.keys()) == {'int_field'}
def test_create_schema_view_no_field_matches_regex(): TestSchema = Unischema('TestSchema', [ UnischemaField('int_field', np.int8, (), ScalarCodec(IntegerType()), False), UnischemaField('string_field', np.string_, (), ScalarCodec(StringType()), False), ]) view = TestSchema.create_schema_view(['bogus']) assert not view.fields
def test_create_schema_view_using_unischema_fields(self): TestSchema = Unischema('TestSchema', [ UnischemaField('int_field', np.int8, (), ScalarCodec(IntegerType()), False), UnischemaField('string_field', np.string_, (), ScalarCodec(StringType()), False), ]) view = TestSchema.create_schema_view([TestSchema.int_field]) self.assertEqual(set(view.fields.keys()), {'int_field'})
def test_create_schema_view_using_regex_and_unischema_fields_with_duplicates(): TestSchema = Unischema('TestSchema', [ UnischemaField('int_field', np.int8, (), ScalarCodec(IntegerType()), False), UnischemaField('string_field', np.string_, (), ScalarCodec(StringType()), False), UnischemaField('other_string_field', np.string_, (), ScalarCodec(StringType()), False), ]) view = TestSchema.create_schema_view(['int.*$', TestSchema.int_field]) assert set(view.fields.keys()) == {'int_field'}