コード例 #1
0
        public void compare_entity_with_its_entity_proxy_with_the_same_id()
        {
            var testEntityOne = new TestEntityOne();

            testEntityOne.SetId(23);
            var testEntityOneProxy = new ProxyGenerator().CreateClassProxy <TestEntityOne>();

            testEntityOneProxy.SetId(23);

            Equals(testEntityOne, testEntityOneProxy).ShouldBeTrue();
            Equals(testEntityOneProxy, testEntityOne).ShouldBeTrue();
        }
コード例 #2
0
        public void compare_entity_with_different_entity_proxy_with_different_id()
        {
            var testEntityOne = new TestEntityOne();

            testEntityOne.SetId(23);
            var testEntityTwoProxy = new ProxyGenerator().CreateClassProxy <TestEntityTwo>();

            testEntityTwoProxy.SetId(24);

            Equals(testEntityOne, testEntityTwoProxy).ShouldBeFalse();
            Equals(testEntityTwoProxy, testEntityOne).ShouldBeFalse();
        }
コード例 #3
0
        public void compare_entity_with_its_derived_entity_with_different_id()
        {
            var testEntityOne = new TestEntityOne();

            testEntityOne.SetId(23);
            var derivedTestEntityOne = new DerivedTestEntityOne();

            derivedTestEntityOne.SetId(24);

            Equals(testEntityOne, derivedTestEntityOne).ShouldBeFalse();
            Equals(derivedTestEntityOne, testEntityOne).ShouldBeFalse();
        }
コード例 #4
0
        public void compare_entity_with_its_derived_entity_with_the_same_id()
        {
            var testEntityOne = new TestEntityOne();

            testEntityOne.SetId(23);
            var derivedTestEntityOne = new DerivedTestEntityOne();

            derivedTestEntityOne.SetId(23);

            Equals(testEntityOne, derivedTestEntityOne).ShouldBeTrue();
            Equals(derivedTestEntityOne, testEntityOne).ShouldBeTrue();
        }
コード例 #5
0
        public void Update_Test()
        {
            var entities = new Dictionary <string, TestEntityOne>
            {
                { "3c0b80ed-6542-42c0-a3df-eef2d784011f", new TestEntityOne {
                      Id = "3c0b80ed-6542-42c0-a3df-eef2d784011f", FieldA = "Field_A_1", FieldB = 101, FieldC = "Field_C_1", FieldD = false
                  } },
                { "caab946b-a155-4297-a8a6-aaaa5aedf76d", new TestEntityOne {
                      Id = "caab946b-a155-4297-a8a6-aaaa5aedf76d", FieldA = "Field_A_2", FieldB = 202, FieldC = "Field_C_2", FieldD = true
                  } },
                { "3e627ea2-27e6-48a3-9846-3f27008edd6b", new TestEntityOne {
                      Id = "3e627ea2-27e6-48a3-9846-3f27008edd6b", FieldA = "Field_A_3", FieldB = 303, FieldC = "Field_C_3", FieldD = false
                  } },
                { "77a906b7-46ca-4e9a-b94b-5cf816f4d984", new TestEntityOne {
                      Id = "77a906b7-46ca-4e9a-b94b-5cf816f4d984", FieldA = "Field_A_4", FieldB = 404, FieldC = "Field_C_4", FieldD = true
                  } },
                { "71bb8f25-cdc5-43f5-a66c-4e3dab81d2af", new TestEntityOne {
                      Id = "71bb8f25-cdc5-43f5-a66c-4e3dab81d2af", FieldA = "Field_A_6", FieldB = 606, FieldC = "Field_C_6", FieldD = false
                  } }
            };

            var uowMock = new Mock <IUnitOfWork>();

            uowMock.Setup(uow => uow.Set <TestEntityOne>()).Returns(entities);

            var repo = new JsonRepository <TestEntityOne>(uowMock.Object);

            var testEntityOne = entities["3e627ea2-27e6-48a3-9846-3f27008edd6b"];

            testEntityOne.FieldA = "Changed_1";

            var idOne = repo.Update(testEntityOne);

            Assert.IsTrue(idOne == "3e627ea2-27e6-48a3-9846-3f27008edd6b");
            var result = repo.Get("3e627ea2-27e6-48a3-9846-3f27008edd6b");

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Id == "3e627ea2-27e6-48a3-9846-3f27008edd6b");
            Assert.IsTrue(result.FieldA == "Changed_1");
            Assert.IsTrue(repo.All().Count() == 5);

            var testEntityTwo = new TestEntityOne {
                FieldA = "Insert_2", FieldB = 222, FieldC = "Insert_2", FieldD = false
            };
            var idTwo = repo.Update(testEntityTwo);

            Assert.IsNotNull(idTwo);
            result = repo.Get(idTwo);
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Id == idTwo);
            Assert.IsTrue(result.FieldA == "Insert_2");
            Assert.IsTrue(repo.All().Count() == 6);
        }
コード例 #6
0
        public async Task VersionedMessageHandler_WhenDifferentSerializations_ExpectAllProcessed()
        {
            // Arrange
            var versionedMessageHandler = new AsyncVersionedMessageHandler <TestEntityOne>(SerializerType.ProtocolBuffers, true)
                                          .On <TestEntityOne>(Task.FromResult);

            var e1 = new TestEntityOne {
                Value1 = "test1", Value2 = 42
            }.SerializeToVersionedMessage();
            var e2 = new TestEntityOne {
                Value1 = "test2", Value2 = 42
            }.SerializeToVersionedMessage();
            var e3 = new TestEntityOne {
                Value1 = "test3", Value2 = 42
            }.SerializeToVersionedMessage(SerializerType.Json);
            var e4 = new TestEntityOne {
                Value1 = "test4", Value2 = 42
            }.SerializeToVersionedMessage(SerializerType.Xml);

            // Act
            var stopwatch = Stopwatch.StartNew();
            var r1        = await versionedMessageHandler.PostAsync(e1).ConfigureAwait(false);

            var r2 = await versionedMessageHandler.PostAsync(e2, SerializerType.ProtocolBuffers).ConfigureAwait(false);

            var r3 = await versionedMessageHandler.PostAsync(e3, SerializerType.Json).ConfigureAwait(false);

            var r4 = await versionedMessageHandler.PostAsync(e4, SerializerType.Xml).ConfigureAwait(false);

            var responses = new List <TestEntityOne>
            {
                r1,
                r2,
                r3,
                r4,
            };

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(responses.Count, Is.EqualTo(4));

            Assert.That(responses[0].Value1, Is.EqualTo("test1"));
            Assert.That(responses[1].Value1, Is.EqualTo("test2"));
            Assert.That(responses[2].Value1, Is.EqualTo("test3"));
            Assert.That(responses[3].Value1, Is.EqualTo("test4"));
        }
コード例 #7
0
        public void VersionedMessageHandler_WhenDifferentSerializations_ExpectAllProcessed()
        {
            // Arrange
            var responses = new List <TestEntityOne>();

            var versionedMessageHandler = new VersionedMessageHandler(SerializerType.ProtocolBuffers, true)
                                          .On <TestEntityOne>(
                e =>
            {
                responses.Add(e);
            });

            var e1 = new TestEntityOne {
                Value1 = "test1", Value2 = 42
            }.SerializeToVersionedMessage();
            var e2 = new TestEntityOne {
                Value1 = "test2", Value2 = 42
            }.SerializeToVersionedMessage();
            var e3 = new TestEntityOne {
                Value1 = "test3", Value2 = 42
            }.SerializeToVersionedMessage(SerializerType.Json);
            var e4 = new TestEntityOne {
                Value1 = "test4", Value2 = 42
            }.SerializeToVersionedMessage(SerializerType.Xml);

            // Act
            var stopwatch = Stopwatch.StartNew();

            versionedMessageHandler.Post(e1);
            versionedMessageHandler.Post(e2, SerializerType.ProtocolBuffers);
            versionedMessageHandler.Post(e3, SerializerType.Json);
            versionedMessageHandler.Post(e4, SerializerType.Xml);
            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(responses.Count, Is.EqualTo(4));

            Assert.That(responses[0].Value1, Is.EqualTo("test1"));
            Assert.That(responses[1].Value1, Is.EqualTo("test2"));
            Assert.That(responses[2].Value1, Is.EqualTo("test3"));
            Assert.That(responses[3].Value1, Is.EqualTo("test4"));
        }
        public void SerializeToVersionedMessage_WhenEntity_ExpectCorrectVersionedMessage()
        {
            // Arrange
            var testEntityOne = new TestEntityOne {
                Value1 = "test1", Value2 = 42
            };

            // Act
            var stopwatch = Stopwatch.StartNew();
            var vm        = testEntityOne.SerializeToVersionedMessage(SerializerType.Json);

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(vm, Is.Not.Null);

            Assert.That(vm.Version, Is.EqualTo(new DtoVersion(typeof(TestEntityOne), 1, 0, 0)));
            Assert.That(vm.Data, Is.EqualTo("{\"Value1\":\"test1\",\"Value2\":42}"));
        }
        public void SerializeToVersionedMessage_WhenWhenProtoBuffer_ExpectCorrectValues()
        {
            // Arrange
            var testEntityOne = new TestEntityOne {
                Value1 = "test1", Value2 = 12
            };

            // Act
            var stopwatch = Stopwatch.StartNew();
            var vm        = testEntityOne.SerializeToVersionedMessage();

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(vm, Is.Not.Null);

            Assert.That(vm.Version, Is.EqualTo(new DtoVersion(typeof(TestEntityOne), 1, 0, 0)));
            Assert.That(vm.Data, Is.EqualTo("\n\u0005test1\u0010\f"));
        }