def test_init(op_list): def validate(x): return isinstance(x, DummyOperation) # Test automatic to_synced_list function generation slist = SyncedList(validation_func=validate) assert slist._validate == validate op = DummyOperation() assert slist._to_synced_list_conversion(op) is op # Test specified to_synced_list def cpp_identity(x): return x._cpp_obj slist = SyncedList(validation_func=validate, to_synced_list=cpp_identity) assert slist._to_synced_list_conversion == cpp_identity op._cpp_obj = 2 assert slist._to_synced_list_conversion(op) == 2 # Test full initialziation slist = SyncedList(validation_func=validate, to_synced_list=cpp_identity, iterable=op_list) assert len(slist._list) == 3 assert all(op._added for op in slist)
def test_init(self, generate_plain_collection, item_cls): validate = _PartialIsInstance(item_cls) # Test automatic to_synced_list function generation synced_list = SyncedList(validation=validate) assert synced_list._validate == validate op = item_cls() assert synced_list._to_synced_list_conversion(op) is op # Test specified to_synced_list def cpp_identity(x): return x._cpp_obj # Test full initialziation plain_list = generate_plain_collection(5) synced_list = SyncedList(validation=validate, to_synced_list=cpp_identity, iterable=plain_list) assert synced_list._to_synced_list_conversion == cpp_identity op._cpp_obj = 2 assert synced_list._to_synced_list_conversion(op) == 2 assert all(op._added for op in synced_list) self.check_equivalent(plain_list, synced_list)