from data.generate_rules import add_rule from data.generate_scenes import generate_scene def test_scene_generation_is_deterministic(): first = generate_scene(7, seed=17) second = generate_scene(7, seed=17) assert first == second assert len(first["visual_facts"]) == 5 def test_held_out_rule_changes_combination(): scene = generate_scene(3, seed=17) train = add_rule(scene, seed=17, held_out=False) held_out = add_rule(scene, seed=17, held_out=True) assert train["combination"] != held_out["combination"] assert train["answer"] == held_out["answer"]