Example #1
0
        public void ItSerializesEntities()
        {
            var entity = new StubEntity();

            entity.Foo = "Foo value";
            entity.bar = "bar value";

            var serialized = Serializer.ToJson(entity).ToString();

            Assert.AreEqual(
                new JsonObject {
                ["Foo"]       = "Foo value",
                ["bar"]       = "bar value",
                ["_id"]       = JsonValue.Null,
                ["_rev"]      = JsonValue.Null,
                ["CreatedAt"] = Serializer.ToJson(default(DateTime)).AsString,
                ["UpdatedAt"] = Serializer.ToJson(default(DateTime)).AsString,
                ["_key"]      = JsonValue.Null,
            }.ToString(),
                serialized
                );

            var deserialized = Serializer.FromJsonString <StubEntity>(serialized);

            UAssert.AreJsonEqual(entity, deserialized);
            Assert.AreEqual(entity.Foo, deserialized.Foo);
            Assert.AreEqual(entity.bar, deserialized.bar);
        }
Example #2
0
        public virtual async Task CanSaveFilesWithSerializerAsync(ISerializer serializer, string fileExtension)
        {
            await this.ResetAsync();

            var storage = this.GetStorage();

            if (storage == null)
            {
                return;
            }

            using (storage)
            {
                var path = $"entity-{Guid.NewGuid().ToString("N").Substring(10)}.{fileExtension}";
                Assert.False(await storage.ExistsAsync(path));

                var entity = new StubEntity
                {
                    FirstName = "John",
                    LastName  = "Doe"
                };

                var saveResult = await storage.SaveFileObjectAsync(path, entity, serializer); // write

                Assert.True(saveResult);

                Assert.Single(await FileStorageExtensions.GetFileInformationsAsync(storage));
                Assert.True(await storage.ExistsAsync(path));

                var getResult = await storage.GetFileObjectAsync <StubEntity>(path, serializer); // read

                Assert.Equal("John", getResult.FirstName);
                Assert.Equal("Doe", getResult.LastName);
            }
        }
Example #3
0
        public void AddDomainEvent_GivenValidItem_EventGetsAdded()
        {
            var notification = new Mock <INotification>();
            var stubEntity   = new StubEntity(Guid.NewGuid());

            stubEntity.AddDomainEvent(notification.Object);
            Assert.Contains(notification.Object, stubEntity.DomainEvents);
        }
Example #4
0
        public void Generic_IsSatisfiedBy_Test()
        {
            var entity = new StubEntity
            {
                FirstName = "John"
            };

            new Specification <StubEntity>(e => e.FirstName == "John").IsSatisfiedBy(entity)
            .ShouldBeTrue();
        }
Example #5
0
        public void MissingFieldOnDeserializationWillBeSetToDefault()
        {
            var e = Serializer.FromJsonString <StubEntity>(
                "{'_id':'e_StubEntity/some-id'}".Replace('\'', '"')
                );
            var def = new StubEntity();

            Assert.AreEqual("e_StubEntity/some-id", e.EntityId);
            Assert.AreEqual(def.Foo, e.Foo);
            Assert.AreEqual(def.bar, e.bar);
        }
Example #6
0
        public void AddRemove()
        {
            var entitySet = new EntitySet(e => true);
            var entity    = new StubEntity();

            entitySet.Add(entity);
            Assert.AreEqual(1, entitySet.Count);
            entitySet.Remove(entity);
            Assert.AreEqual(0, entitySet.Count);
            entitySet.Add(entity);
            Assert.AreEqual(1, entitySet.Count);
        }
Example #7
0
            public void InitializedEntity_HasDefaultValue()
            {
                // arrange
                StubEntity test     = new StubEntity();
                int        expected = 0;

                // act

                // assert
                test.Id
                .Should()
                .Be(expected);
            }
Example #8
0
            public void GoodEntity_ReturnsExpectedValue()
            {
                // arrange
                StubEntity fakeEntity = MakeEntity();
                int        expected   = 53;

                // act

                // assert
                fakeEntity.Id
                .Should()
                .Be(expected);
            }
        public void PersistNewItem_Entity_Persisted()
        {
            var entity = new StubEntity();
            entity.Date = DateTime.Now;
            entity.Integer = 2;
            entity.Text1 = "text1";
            entity.Text2 = "text2";
            entity.Text3 = "text3";

            var unitOfWork = new MemoryUnitOfWork();
            var target = new ParseRepository<StubEntity>(unitOfWork);

            target.Add(entity);
            unitOfWork.Commit();
        }
Example #10
0
        public void ModifiedEnumerable()
        {
            var entity = new StubEntity();
            var list   = new List <IEntity> {
                entity
            };
            var entityManager = new EntityManager(list, new StubComponentManager());
            var enumerable    = (IEnumerable)entityManager;
            var enumerator    = enumerable.GetEnumerator();

            list.Add(new StubEntity());             // modify collection
            Assert.IsTrue(enumerator.MoveNext(), "should iterate over original entity list");
            Assert.AreSame(entity, enumerator.Current);
            list.Add(new StubEntity());             // modify again
            Assert.IsFalse(enumerator.MoveNext(), "should only have one entity in original list");
        }
Example #11
0
        public void ReEnumerate()
        {
            var componentManager = new ComponentManager(new StubSetManager());
            var entity           = new StubEntity();

            using (var enumerator = componentManager.GetEnumerator(entity)) {
                componentManager.AddComponent(entity, new AComponent("modified components"));
                Assert.IsFalse(enumerator.MoveNext());
                componentManager.AddComponent(entity, new AComponent("modified components"));
                Assert.IsFalse(enumerator.MoveNext());
            }
            // check again for dispose crash
            using (var enumerator = componentManager.GetEnumerator(new StubEntity())) {
                Assert.IsFalse(enumerator.MoveNext());
            }
        }
        public void FindAll_Filter_EntitiesFiltered()
        {
            var unitOfWork = new MemoryUnitOfWork();
            var target = new ParseRepository<StubEntity>(unitOfWork);

            foreach (var toRemove in target.FindAll())
            {
                target.Remove(toRemove);
                unitOfWork.Commit();
            }

            var entity1 = new StubEntity();
            entity1.Date = DateTime.Now;
            entity1.Text1 = "text1";
            entity1.Text2 = "text2";
            entity1.Text3 = "text3";

            var entity2 = new StubEntity();
            entity2.Date = DateTime.Now;
            entity2.Text1 = "text1";
            entity2.Text2 = "text2";
            entity2.Text3 = "text4";

            target.Add(entity1);
            target.Add(entity2);
            unitOfWork.Commit();

            var text1 = "text1";
            var actual = target.FindAll(0, 1, (b) => b.Text1 == text1 && b.Text2 == "text2" && b.Text3 == "text3");

            Assert.AreEqual(1, actual.Count());
            var first = actual.First();
            Assert.AreEqual("text3", first.Text3);

            actual = target.FindAll(0, 1, (b) => b.Text1 == text1 && b.Text2 == "text2" && b.Text3 == "text4");

            Assert.AreEqual(1, actual.Count());
            first = actual.First();
            Assert.AreEqual("text4", first.Text3);

            first = target.FindFirst((b) => b.Text1 == text1 && b.Text2 == "text2" && b.Text3 == "text3");
            Assert.AreEqual("text3", first.Text3);
        }
Example #13
0
        public void ModifiedEnumerable()
        {
            var entitySet = new EntitySet(e => true);
            var entity    = new StubEntity();

            entitySet.Add(entity);

            // Contains
            Assert.IsTrue(entitySet.Contains(entity));

            // GetEnumerator
            Assert.AreSame(entity, entitySet.First());
            var enumerable = (IEnumerable)entitySet;
            var enumerator = enumerable.GetEnumerator();

            entitySet.Add(new StubEntity());             // modify collection
            Assert.IsTrue(enumerator.MoveNext(), "shouldn't crash, should have original list of entities");
            Assert.AreSame(entity, enumerator.Current);
            Assert.IsFalse(enumerator.MoveNext(), "should be end of original 1 entity list");
        }
Example #14
0
        public void IsTransient_IdSet_ExpectFalse()
        {
            var stubEntity = new StubEntity(Guid.NewGuid());

            Assert.False(stubEntity.IsTransient());
        }
Example #15
0
        public void IsTransient_NoIdSet_ExpectTrue()
        {
            var stubEntity = new StubEntity();

            Assert.True(stubEntity.IsTransient());
        }
 public CustomerCreatedDomainEvent(StubEntity entity)
 {
     this.Entity = entity;
 }
Example #17
0
 public EntityTests()
 {
     this.sut = new StubEntity();
 }