def test_narrowing_assignment_blocked(self): foo = UniversalListType(IntegerType()) bar = UniversalListType(Const(AnyType())) self.assertTrue(bar.is_copyable_from(foo, DUMMY_REASONER)) self.assertFalse(foo.is_copyable_from(bar, DUMMY_REASONER))
def test_covariant_array_assignment_blocked(self): foo = UniversalListType(AnyType()) bar = UniversalListType(IntegerType()) self.assertFalse(foo.is_copyable_from(bar, DUMMY_REASONER))
def test_convert_tuple_to_list_with_deletes_blocked(self): foo = UniversalListType(IntegerType()) bar = UniversalTupleType([ IntegerType(), IntegerType() ], None) self.assertFalse(foo.is_copyable_from(bar, DUMMY_REASONER))
def test_same_type_array_assignment(self): foo = UniversalListType(IntegerType()) bar = UniversalListType(IntegerType()) self.assertTrue(foo.is_copyable_from(bar, DUMMY_REASONER))
def test_const_covariant_array_assignment_allowed(self): foo = UniversalListType(Const(AnyType())) bar = UniversalListType(IntegerType()) self.assertTrue(foo.is_copyable_from(bar, DUMMY_REASONER))