Beispiel #1
0
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)