def test_extend_factory_with_differing_associations(self): Factory.define(Tomato, color=None) Factory.define(Vine, tomatoes=Factory.many( Factory.association(Tomato), Factory.association(Tomato) )) Factory.extend(Vine) ( "with special tomatoes", tomatoes=Factory.many( Factory.association(Tomato, color="red"), Factory.association(Tomato, color="green") ) ) pure_vine = Factory(Vine) rich_vine = Factory(Vine, "with special tomatoes") assert_equals("green", rich_vine.tomatoes[1].color) assert_equals(None, pure_vine.tomatoes[1].color)
def test_association_many_to_one(self): Factory.define(Vine, tomatoes=Factory.many( Factory.association(Tomato, color="red"), Factory.association(Tomato, color="green") )) Factory.define(Tomato) v = Factory(Vine) tomato = v.tomatoes[0] assert_is_instance(tomato, Tomato) assert_true(tomato is tomato) assert_equals("red", tomato.color) tomato = v.tomatoes[1] assert_is_instance(tomato, Tomato) assert_true(tomato is tomato) assert_equals("green", tomato.color) assert_false(tomato is Factory(Vine).tomatoes[1])