def test_concept_style_cuts(): assert list(concept_cuts(Direction.CAUSE, (0,))) == [ KCut(Direction.CAUSE, KPartition( Part((), ()), Part((), (0,)), Part((0,), ())))] assert list(concept_cuts(Direction.EFFECT, (0,))) == [ KCut(Direction.EFFECT, KPartition( Part((), ()), Part((), (0,)), Part((0,), ())))]
def test_system_accessors(s): cut_cause = KCut(Direction.CAUSE, KPartition(Part((0, 2), (0, 1)), Part((1, ), (2, )))) cs_cause = ConceptStyleSystem(s, Direction.CAUSE, cut_cause) assert cs_cause.cause_system.cut == cut_cause assert not cs_cause.effect_system.is_cut cut_effect = KCut(Direction.EFFECT, KPartition(Part((0, 2), (0, 1)), Part((1, ), (2, )))) cs_effect = ConceptStyleSystem(s, Direction.EFFECT, cut_effect) assert not cs_effect.cause_system.is_cut assert cs_effect.effect_system.cut == cut_effect
def test_kcut_equality(kcut_cause, kcut_effect): other = KCut(Direction.CAUSE, KPartition( Part((0, 2), (0,)), Part((), (2,)), Part((3,), (3,)))) assert kcut_cause == other assert hash(kcut_cause) == hash(other) assert hash(kcut_cause) != hash(kcut_cause.partition) assert kcut_cause != kcut_effect assert hash(kcut_cause) != hash(kcut_effect)
def kcut_effect(): partition = KPartition(Part((0, 2), (0, )), Part((), (2, )), Part((3, ), (3, ))) return KCut(Direction.EFFECT, partition)
def kcut_cause(): partition = KPartition(Part((0, 2), (0, )), Part((), (2, )), Part((3, ), (3, ))) return KCut(Direction.CAUSE, partition)