def test_const_covariant_array_assignment_allowed(self): foo = UniversalListType(Const(AnyType())) bar = UniversalListType(IntegerType()) self.assertTrue(foo.is_copyable_from(bar, DUMMY_REASONER))
def test_incorrect_type_blocked(self): foo = PythonList([ 4, 6, 8 ]) with self.assertRaises(Exception): get_manager(foo).add_composite_type(UniversalListType(StringType()))
def test_sparse_list_inserting(self): foo = PythonList([ 4, 6, 8 ], is_sparse=True) get_manager(foo).add_composite_type(UniversalListType(IntegerType(), is_sparse=True)) foo.insert(4, 12) self.assertEqual(list(foo), [ 4, 6, 8, SPARSE_ELEMENT, 12 ])
def test_set_on_non_sparse_blocked(self): foo = PythonList([ 4, 6, 8 ]) get_manager(foo).add_composite_type(UniversalListType(IntegerType(), is_sparse=False)) with self.assertRaises(IndexError): foo[4] = 12
def test_insert_with_wrong_type_blocked(self): foo = PythonList([ 4, 6, 8 ]) get_manager(foo).add_composite_type(UniversalListType(IntegerType())) with self.assertRaises(Exception): foo.insert(0, "hello")