public void Convergent_AddNewValue() { var nodes = CreateNodes(3); var convergentReplicas = CreateConvergentReplicas(nodes); var random = new Random(); var objectsCount = 1000; var objects = new TestTypeBuilder(random).Build(Guid.NewGuid(), objectsCount); TestType value; foreach (var replica in convergentReplicas) { for (int i = 0; i < 100; i++) { value = objects[random.Next(objectsCount)]; replica.Value.LocalAdd(value); var(adds, removes) = replica.Value.State; ConvergentDownstreamMerge(replica.Key.Id, adds, removes, convergentReplicas); } } var(expectedAdds, expectedRemoves) = convergentReplicas.First().Value.State; foreach (var replica in convergentReplicas) { var(actualAdds, actualRemoves) = replica.Value.State; Assert.Equal(expectedAdds, actualAdds); Assert.Equal(expectedRemoves, actualRemoves); } }
public void ShouldResolvePropertySetByBaseResolver() { var destType = typeof(ClassW4Properties); var testBuilder = new TestTypeBuilder <ClassW2Properties, ClassW4Properties>(); testBuilder.PropertyToResolve = destType.GetProperty("Prop3"); testBuilder.ProertyValue = 3; var mapper = new TestTypeMapper <ClassW2Properties, ClassW4Properties>(() => testBuilder); var source = new ClassW2Properties(); var dest = mapper.Map(source); Assert.IsNotNull(dest); Assert.AreEqual(3, dest.Prop3); }
public void Lookup_AddedRemovedAndUpdated_ReturnsTrue(TestType value, Guid tag, long timestamp) { var ourSet = new OUR_OptimizedSet <TestType>(); ourSet = ourSet.Merge(new[] { new OUR_OptimizedSetElement <TestType>(value, tag, timestamp, false) }.ToImmutableHashSet()); ourSet = ourSet.Merge(new[] { new OUR_OptimizedSetElement <TestType>(value, tag, timestamp + 1, true) }.ToImmutableHashSet()); var newValue = new TestTypeBuilder(new Random()).Build(value.Id); ourSet = ourSet.Merge(new[] { new OUR_OptimizedSetElement <TestType>(newValue, tag, timestamp + 3, false) }.ToImmutableHashSet()); var lookup = ourSet.Lookup(newValue); Assert.True(lookup); }
public void Lookup_AddedRemovedAndUpdated_ReturnsTrue(TestType value, Guid tag, Node node) { var clock = ImmutableSortedDictionary <Node, long> .Empty; var ourSet = new OUR_OptimizedSetWithVC <TestType>(); ourSet = ourSet.Merge(new[] { new OUR_OptimizedSetWithVCElement <TestType>(value, tag, new VectorClock(clock.Add(node, 0)), false) }.ToImmutableHashSet()); ourSet = ourSet.Merge(new[] { new OUR_OptimizedSetWithVCElement <TestType>(value, tag, new VectorClock(clock.Add(node, 1)), true) }.ToImmutableHashSet()); var newValue = new TestTypeBuilder(new Random()).Build(value.Id); ourSet = ourSet.Merge(new[] { new OUR_OptimizedSetWithVCElement <TestType>(newValue, tag, new VectorClock(clock.Add(node, 3)), false) }.ToImmutableHashSet()); var lookup = ourSet.Lookup(newValue); Assert.True(lookup); }
public void ShouldUserPriorBuilder() { var destType = typeof(ClassW4Properties); var testBuilder = new TestTypeBuilder <ClassW2Properties, ClassW4Properties>(); testBuilder.PropertyToResolve = destType.GetProperty("Prop2"); testBuilder.ProertyValue = 3; var mapper = new TestTypeMapper <ClassW2Properties, ClassW4Properties>(() => testBuilder); var source = new ClassW2Properties { Prop2 = 2 }; var dest = mapper.Map(source); Assert.IsNotNull(dest); Assert.AreEqual(2, dest.Prop2); }
public OUR_SetWithVCServiceTests() { _repository = new OUR_SetWithVCRepository(); _ourSetService = new OUR_SetWithVCService <TestType>(_repository); _builder = new TestTypeBuilder(new Random()); }
public OUR_OptimizedSetWithVCTests() { _builder = new TestTypeBuilder(new Random()); }
public OUR_OptimizedSetServiceTests() { _repository = new OUR_OptimizedSetRepository(); _ourSetService = new OUR_OptimizedSetService <TestType>(_repository); _builder = new TestTypeBuilder(new Random()); }
public LWW_RegisterServiceTests() { _repository = new LWW_RegisterRepository(); _service = new LWW_RegisterService <TestType>(_repository); _builder = new TestTypeBuilder(new Random()); }
public OR_SetServiceTests() { _repository = new OR_SetRepository(); _orSetService = new OR_SetService <TestType>(_repository); _builder = new TestTypeBuilder(new Random()); }
public OUR_SetTests() { _builder = new TestTypeBuilder(new Random()); }