def test_periodic_or_combos(self): assert_equal((self.pvolA | self.pvolB), self.pvolD) assert_equal((self.pvolA | self.pvolB)(60), True) assert_equal((self.pvolA | self.pvolB)(80), True) assert_equal((self.pvolA | self.pvolB)(125), False) assert_equal((self.pvolB | self.pvolC), volume.UnionVolume(self.pvolB, self.pvolC)) assert_equal((self.pvolC | self.pvolB), volume.UnionVolume(self.pvolC, self.pvolB)) assert_is((self.pvolA | self.pvolA), self.pvolA) assert_equal((self.pvolA | self.pvolA_), volume.FullVolume()) assert_equal((self.pvolE | self.pvolD), self.pvolE) assert_equal((self.pvolB | self.pvolD), self.pvolD) assert_equal((self.pvolE | self.pvolA_), volume.FullVolume())
def test_periodic_or_combos(self): assert (self.pvolA | self.pvolB) == self.pvolD assert (self.pvolA | self.pvolB)(60) is True assert (self.pvolA | self.pvolB)(80) is True assert (self.pvolA | self.pvolB)(125) is False assert ((self.pvolB | self.pvolC) == volume.UnionVolume( self.pvolB, self.pvolC)) assert ((self.pvolC | self.pvolB) == volume.UnionVolume( self.pvolC, self.pvolB)) assert (self.pvolA | self.pvolA) is self.pvolA assert (self.pvolA | self.pvolA_) == volume.FullVolume() assert (self.pvolE | self.pvolD) == self.pvolE assert (self.pvolB | self.pvolD) == self.pvolD assert (self.pvolE | self.pvolA_) == volume.FullVolume()
def test_periodic_xor_combos(self): assert self.pvolA ^ self.pvolA_ == volume.FullVolume() assert self.pvolA ^ self.pvolA == volume.EmptyVolume() assert (self.pvolE ^ self.pvolD == volume.UnionVolume( volume.PeriodicCVDefinedVolume(op_id, -150, -100), volume.PeriodicCVDefinedVolume(op_id, 100, 150))) assert self.pvolB ^ self.pvolC == self.pvolB | self.pvolC assert (self.pvolB ^ self.pvolD == volume.PeriodicCVDefinedVolume( op_id, -100, 50))
def test_periodic_xor_combos(self): assert_equal(self.pvolA ^ self.pvolA_, volume.FullVolume()) assert_equal(self.pvolA ^ self.pvolA, volume.EmptyVolume()) assert_equal(self.pvolE ^ self.pvolD, volume.UnionVolume( volume.PeriodicCVDefinedVolume(op_id, -150, -100), volume.PeriodicCVDefinedVolume(op_id, 100, 150))) assert_equal(self.pvolB ^ self.pvolC, self.pvolB | self.pvolC) assert_equal(self.pvolB ^ self.pvolD, volume.PeriodicCVDefinedVolume(op_id, -100, 50))
def test_full_volume(self): """Full volume is well-behaved""" full = volume.FullVolume() test = 0.1 assert_equal(full(test), True) assert_equal((full & volA)(test), True) assert_equal((volA & full)(test), True) assert_equal((full | volA)(test), True) assert_equal((volA | full)(test), True) # assert_is: logical combos with full should return same obj assert_is((full & volA), volA) assert_is((volA & full), volA) assert_is((full | volA), full) assert_is((volA | full), full) assert_equal((volA - full), volume.EmptyVolume()) assert_equal((full - volA), ~volA) assert_equal((full ^ volA), ~volA) assert_equal((volA ^ full), ~volA) assert_equal((volA | full).__str__(), "all") assert_equal((~full).__str__(), "empty")
def test_full_volume(self): """Full volume is well-behaved""" full = volume.FullVolume() test = 0.1 assert full(test) is True assert (full & volA)(test) is True assert (volA & full)(test) is True assert (full | volA)(test) is True assert (volA | full)(test) is True # assert_is: logical combos with full should return same obj assert (full & volA) is volA assert (volA & full) is volA assert (full | volA) is full assert (volA | full) is full assert (volA - full) == volume.EmptyVolume() assert (full - volA) == ~volA assert (full ^ volA) == ~volA assert (volA ^ full) == ~volA assert (volA | full).__str__() == "all" assert (~full).__str__() == "empty"