public void PartitionClient() { var client = new PartitionClient<TestModel>(); var engine1 = Engine.For<TestModel>("mode=embedded;location=" + Guid.NewGuid()); var engine2 = Engine.For<TestModel>("mode=embedded;location=" + Guid.NewGuid()); client.Nodes.Add(engine1); client.Nodes.Add(engine2); // Set dispatchers and mergers for types client.SetDispatcherFor<TestCommandWithoutResult>(command => 1); client.SetMergerFor<int>(i => i.Sum()); var response = client.Execute(new TestCommandWithResult()); Assert.AreEqual(2,response); // Check model values var response1 = client.Nodes[0].Execute(new GetNumberOfCommandsExecutedQuery()); var response2 = client.Nodes[1].Execute(new GetNumberOfCommandsExecutedQuery()); Assert.AreEqual(1, response1); Assert.AreEqual(1, response2); client.Execute(new TestCommandWithoutResult()); // Check model values again response1 = client.Nodes[0].Execute(new GetNumberOfCommandsExecutedQuery()); response2 = client.Nodes[1].Execute(new GetNumberOfCommandsExecutedQuery()); Assert.AreEqual(1,response1); Assert.AreEqual(2, response2); }
public void PartitionClient() { var client = new PartitionClient <TestModel>(); var engine1 = Engine.For <TestModel>("mode=embedded;location=" + Guid.NewGuid()); var engine2 = Engine.For <TestModel>("mode=embedded;location=" + Guid.NewGuid()); client.Nodes.Add(engine1); client.Nodes.Add(engine2); // Set dispatchers and mergers for types client.SetDispatcherFor <TestCommandWithoutResult>(command => 1); client.SetMergerFor <int>(i => i.Sum()); var response = client.Execute(new TestCommandWithResult()); Assert.AreEqual(2, response); // Check model values var response1 = client.Nodes[0].Execute(new GetNumberOfCommandsExecutedQuery()); var response2 = client.Nodes[1].Execute(new GetNumberOfCommandsExecutedQuery()); Assert.AreEqual(1, response1); Assert.AreEqual(1, response2); client.Execute(new TestCommandWithoutResult()); // Check model values again response1 = client.Nodes[0].Execute(new GetNumberOfCommandsExecutedQuery()); response2 = client.Nodes[1].Execute(new GetNumberOfCommandsExecutedQuery()); Assert.AreEqual(1, response1); Assert.AreEqual(2, response2); }