def test_cmp_rel__prefix_unknown(self): tup1 = self._ctx.convert.tuple_to_value( (self._convert.constant_to_value(3).to_variable(self._node), self._convert.primitive_class_instances[int].to_variable( self._node))) tup2 = self._convert.constant_to_value((3, 1)) for op in (slots.LT, slots.LE, slots.EQ, slots.NE, slots.GE, slots.GT): self.assertIsNone(compare.cmp_rel(self._ctx, op, tup1, tup2)) self.assertIsNone(compare.cmp_rel(self._ctx, op, tup2, tup1))
def test_cmp_rel__equal(self): tup = self._convert.constant_to_value((3, 1)) self.assertIs(False, compare.cmp_rel(self._ctx, slots.LT, tup, tup)) self.assertIs(True, compare.cmp_rel(self._ctx, slots.LE, tup, tup)) self.assertIs(True, compare.cmp_rel(self._ctx, slots.EQ, tup, tup)) self.assertIs(False, compare.cmp_rel(self._ctx, slots.NE, tup, tup)) self.assertIs(True, compare.cmp_rel(self._ctx, slots.GE, tup, tup)) self.assertIs(False, compare.cmp_rel(self._ctx, slots.GT, tup, tup))
def test_compare_frozensets(self): """Test that two frozensets can be compared for equality.""" fset = self._vm.convert.frozenset_type i = abstract.Instance(fset, self._vm) j = abstract.Instance(fset, self._vm) self.assertIs(None, compare.cmp_rel(self._vm, slots.EQ, i, j))
def test_cmp_rel__prefix_not_equal(self): tup1 = self._ctx.convert.tuple_to_value( (self._convert.constant_to_value(3).to_variable(self._node), self._convert.constant_to_value(1).to_variable(self._node), self._convert.primitive_class_instances[int].to_variable( self._node))) tup2 = self._convert.constant_to_value((4, 2)) self.assertIs(True, compare.cmp_rel(self._ctx, slots.LT, tup1, tup2)) self.assertIs(False, compare.cmp_rel(self._ctx, slots.LT, tup2, tup1)) self.assertIs(True, compare.cmp_rel(self._ctx, slots.LE, tup1, tup2)) self.assertIs(False, compare.cmp_rel(self._ctx, slots.LE, tup2, tup1)) self.assertIs(False, compare.cmp_rel(self._ctx, slots.EQ, tup1, tup2)) self.assertIs(False, compare.cmp_rel(self._ctx, slots.EQ, tup2, tup1)) self.assertIs(True, compare.cmp_rel(self._ctx, slots.NE, tup1, tup2)) self.assertIs(True, compare.cmp_rel(self._ctx, slots.NE, tup2, tup1)) self.assertIs(False, compare.cmp_rel(self._ctx, slots.GE, tup1, tup2)) self.assertIs(True, compare.cmp_rel(self._ctx, slots.GE, tup2, tup1)) self.assertIs(False, compare.cmp_rel(self._ctx, slots.GT, tup1, tup2)) self.assertIs(True, compare.cmp_rel(self._ctx, slots.GT, tup2, tup1))
def test_cmp_rel__unknown(self): tup1 = self._convert.constant_to_value((3, 1)) tup2 = abstract.Instance(self._convert.tuple_type, self._ctx) for op in (slots.LT, slots.LE, slots.EQ, slots.NE, slots.GE, slots.GT): self.assertIsNone(compare.cmp_rel(self._ctx, op, tup1, tup2)) self.assertIsNone(compare.cmp_rel(self._ctx, op, tup2, tup1))
def test_cmp_rel__not_equal(self): tup1 = self._convert.constant_to_value((3, 1)) tup2 = self._convert.constant_to_value((3, 5)) self.assertIs(True, compare.cmp_rel(self._vm, slots.LT, tup1, tup2)) self.assertIs(False, compare.cmp_rel(self._vm, slots.LT, tup2, tup1)) self.assertIs(True, compare.cmp_rel(self._vm, slots.LE, tup1, tup2)) self.assertIs(False, compare.cmp_rel(self._vm, slots.LE, tup2, tup1)) self.assertIs(False, compare.cmp_rel(self._vm, slots.EQ, tup1, tup2)) self.assertIs(False, compare.cmp_rel(self._vm, slots.EQ, tup2, tup1)) self.assertIs(True, compare.cmp_rel(self._vm, slots.NE, tup1, tup2)) self.assertIs(True, compare.cmp_rel(self._vm, slots.NE, tup2, tup1)) self.assertIs(False, compare.cmp_rel(self._vm, slots.GE, tup1, tup2)) self.assertIs(True, compare.cmp_rel(self._vm, slots.GE, tup2, tup1)) self.assertIs(False, compare.cmp_rel(self._vm, slots.GT, tup1, tup2)) self.assertIs(True, compare.cmp_rel(self._vm, slots.GT, tup2, tup1))