Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }