def test_does_not_inherit_default(): assert ChildMapper.default() != SpecificationMapper.default() SpecificationMapper.default().define_specification_for('foo', const(1)) with pytest.raises(MissingSpecification): ChildMapper.default().specification_for('foo')
def test_can_define_specifications_on_the_default(): sm = SpecificationMapper() SpecificationMapper.default().define_specification_for('foo', const(1)) assert sm.specification_for('foo') == 1
def test_can_define_instance_specifications_on_the_default(): sm = SpecificationMapper() SpecificationMapper.default().define_specification_for_instances( str, lambda _, i: i + 'bar') assert sm.specification_for('foo') == 'foobar'
def test_does_not_confuse_defaults(): x = SpecificationMapper.default() assert Submapper.default() != x