public void Merge_WithExistingValues_AddsElementsToTheRepository(HashSet <LWW_SetWithVCElement <TestType> > existingAdds, HashSet <LWW_SetWithVCElement <TestType> > existingRemoves, HashSet <LWW_SetWithVCElement <TestType> > values)
        {
            _repository.PersistAdds(existingAdds.ToImmutableHashSet());
            _repository.PersistRemoves(existingRemoves.ToImmutableHashSet());

            _lwwSetService.Merge(values.ToImmutableHashSet(), values.ToImmutableHashSet());

            var repositoryAdds    = _repository.GetAdds();
            var repositoryRemoves = _repository.GetRemoves();

            AssertContains(values, repositoryAdds);
            AssertContains(values, repositoryRemoves);
        }
Exemple #2
0
        public void Lookup_Added_ReturnsTrue(HashSet <LWW_SetWithVCElement <TestType> > existingAdds, HashSet <LWW_SetWithVCElement <TestType> > existingRemoves, TestType value, Node node)
        {
            var clock = ImmutableSortedDictionary <Node, long> .Empty;

            _repository.PersistAdds(existingAdds.ToImmutableHashSet());
            _repository.PersistRemoves(existingRemoves.ToImmutableHashSet());

            _lwwSetService.DownstreamAssign(value, new VectorClock(clock.Add(node, 0)));

            var lookup = _lwwSetService.Lookup(value);

            Assert.True(lookup);
        }