예제 #1
0
        public void Test_CountEntitiesWithReference_OneWayReference()
        {
            MockEntity entity = new MockEntity();
            entity.ID = Guid.NewGuid();

            MockPublicEntity publicEntity = new MockPublicEntity();
            publicEntity.ID = Guid.NewGuid();

            entity.PublicEntities = new MockPublicEntity[]{
                publicEntity
            };

            int before = DataAccess.Data.Counter.CountEntitiesWithReference(typeof(MockPublicEntity),
                                                                            publicEntity.ID,
                                                                            "",
                                                                            typeof(MockEntity),
                                                                            "PublicEntities");

            Assert.AreEqual(0, before);

            DataAccess.Data.Saver.Save(publicEntity);
            DataAccess.Data.Saver.Save(entity);

            int after = DataAccess.Data.Counter.CountEntitiesWithReference(typeof(MockPublicEntity),
                                                                            publicEntity.ID,
                                                                            "",
                                                                            typeof(MockEntity),
                                                                            "PublicEntities");

            Assert.AreEqual(1, after);
        }
        public void Test_GetMirrorPropertyNameReverse_Multiple_Implicit_Async()
        {
            MockEntity entity = new MockEntity();
            MockPublicEntity publicEntity = new MockPublicEntity();

            string mirrorPropertyName = EntitiesUtilities.GetMirrorPropertyNameReverse(publicEntity, "", typeof(MockEntity));

            Assert.AreEqual("PublicEntities", mirrorPropertyName, "The mirror property name wasn't determined correctly.");
        }
        public void Test_EnsureAuthorised_AllowPublicEntity()
        {
            MockPublicEntity entity = new MockPublicEntity();

            CreateController controller = new CreateController();
            controller.Container = new MockCreateProjection(typeof(MockPublicEntity));
            bool isAuthorised = controller.EnsureAuthorised(entity);

            Assert.IsTrue(isAuthorised, "Returned false when it should be true.");
        }
        public void Test_Authorise_KeepsAuthorisedReferences()
        {
            MockEntity entity = new MockEntity();
            entity.ID = Guid.NewGuid();

            MockPublicEntity publicEntity = new MockPublicEntity();
            publicEntity.ID = Guid.NewGuid();

            entity.PublicEntities = new MockPublicEntity[]{
                publicEntity
            };

            AuthoriseReferencesStrategy.New(entity).Authorise(entity);

            Assert.AreEqual(1, entity.PublicEntities.Length, "Invalid number of public entities found.");
        }
예제 #5
0
        public virtual void Test_Delete_EntityAndReference_Async()
        {
            MockEntity entity = new MockEntity();
            entity.ID = Guid.NewGuid();

            MockPublicEntity referencedEntity = new MockPublicEntity();
            referencedEntity.ID = Guid.NewGuid();

            entity.PublicEntities = new MockPublicEntity[]{referencedEntity};

            DataAccess.Data.Saver.Save(referencedEntity);
            DataAccess.Data.Saver.Save(entity);

            EntityReferenceCollection references = DataAccess.Data.Referencer.GetReferences(typeof(MockEntity).Name, typeof(MockPublicEntity).Name);

            Assert.AreEqual(1, references.Count, "Incorrect number of references found.");

            DataAccess.Data.Deleter.Delete(entity);

            EntityReferenceCollection references2 = DataAccess.Data.Referencer.GetReferences(typeof(MockEntity).Name, typeof(MockPublicEntity).Name);

            Assert.AreEqual(0, references2.Count, "Reference not deleted.");
        }
예제 #6
0
        public virtual void Test_Update_SetsCountPropertyForReference_OneWay()
        {
            MockEntity entity = new MockEntity();
            entity.ID = Guid.NewGuid();

            MockPublicEntity referencedEntity = new MockPublicEntity();
            referencedEntity.ID = Guid.NewGuid();

            entity.PublicEntities = new MockPublicEntity[]{
                referencedEntity
            };

            DataAccess.Data.Saver.Save(referencedEntity);
            DataAccess.Data.Saver.Save(entity);

            DataAccess.Data.Updater.Update(entity);

            MockEntity foundEntity = DataAccess.Data.Reader.GetEntity<MockEntity>("ID", entity.ID);
            MockPublicEntity foundReferencedEntity = DataAccess.Data.Reader.GetEntity<MockPublicEntity>("ID", referencedEntity.ID);

            DataAccess.Data.Activator.Activate(foundEntity);
            DataAccess.Data.Activator.Activate(foundReferencedEntity);

            Assert.AreEqual(1, foundEntity.TotalPublicEntities, "The TotalPublicEntities property didn't have the expected value.");
            Assert.AreEqual(1, foundEntity.PublicEntities.Length, "The PublicEntities property didn't have the expected length.");
        }
        public virtual void Test_SetCountProperty_OneWayReference()
        {
            MockEntity entity = new MockEntity();
            entity.ID = Guid.NewGuid();

            MockPublicEntity referencedEntity = new MockPublicEntity();
            referencedEntity.ID = Guid.NewGuid();

            entity.PublicEntities = new MockPublicEntity[]{
                referencedEntity
            };

            EntityReferenceCollection references = DataAccess.Data.Referencer.GetActiveReferences(entity);

            DataAccess.Data.Saver.Save(referencedEntity);
            DataAccess.Data.Saver.Save(entity);

            DataAccess.Data.Referencer.SetCountProperty(entity, "PublicEntities", referencedEntity.ID);

            Assert.AreEqual(1, entity.TotalPublicEntities, "The PublicEntities property didn't have the expected length.");
        }