public void Test_MatchReference_Opposite()
        {
            using (LogGroup logGroup = LogGroup.Start("Testing the MatchReference function to ensure matches properly.", NLog.LogLevel.Debug))
            {
                TestArticle article = new TestArticle();
                article.ID    = Guid.NewGuid();
                article.Title = "Test Article";

                TestCategory category = new TestCategory();
                category.ID   = Guid.NewGuid();
                category.Name = "Test Category";

                article.Categories = new TestCategory[] { category };

                DataAccess.Data.Saver.Save(category);
                DataAccess.Data.Saver.Save(article);

                bool match  = DataAccess.Data.Referencer.MatchReference(article.GetType(), article.ID, "Categories", category.GetType(), category.ID, "Articles");
                bool match2 = DataAccess.Data.Referencer.MatchReference(category.GetType(), category.ID, "Articles", article.GetType(), article.ID, "Categories");

                Assert.IsTrue(match, "Didn't match on standard check.");
                Assert.IsTrue(match2, "Didn't match on reverse check.");


                DataAccess.Data.Deleter.Delete(article);
                DataAccess.Data.Deleter.Delete(category);
            }
        }
Ejemplo n.º 2
0
        public void Test_IsStored_Reference()
        {
            using (LogGroup logGroup = LogGroup.Start("Testing the IsStored function on a reference object", NLog.LogLevel.Debug))
            {

                TestArticle article = new TestArticle();
                article.ID = Guid.NewGuid();
                article.Title = "Test Article";

                TestCategory category = new TestCategory();
                category.ID = Guid.NewGuid();
                category.Name = "Test Category";

                article.Categories = new TestCategory[] { category };

                DataAccess.Data.Saver.Save(category);
                DataAccess.Data.Saver.Save(article);

                EntityReferenceCollection collection = DataAccess.Data.Referencer.GetReferences(article.GetType(), article.ID, "Categories", category.GetType(), false);

                Assert.IsNotNull(collection, "Reference collection is null.");

                if (collection != null)
                {
                    Assert.AreEqual(1, collection.Count, "Incorrect number of references found.");
                }

                foreach (EntityReference reference in collection)
                {
                    bool match = DataAccess.Data.IsStored(reference);

                    Assert.AreEqual(true, match, "Reference wasn't detected.");
                }

            }
        }
        public void Test_MatchReference_Opposite()
        {
            using (LogGroup logGroup = LogGroup.Start("Testing the MatchReference function to ensure matches properly.", NLog.LogLevel.Debug))
            {
                TestArticle article = new TestArticle();
                article.ID = Guid.NewGuid();
                article.Title = "Test Article";

                TestCategory category = new TestCategory();
                category.ID = Guid.NewGuid();
                category.Name = "Test Category";

                article.Categories = new TestCategory[] { category };

                DataAccess.Data.Saver.Save(category);
                DataAccess.Data.Saver.Save(article);

                bool match = DataAccess.Data.Referencer.MatchReference(article.GetType(), article.ID, "Categories", category.GetType(), category.ID, "Articles");
                bool match2 = DataAccess.Data.Referencer.MatchReference(category.GetType(), category.ID, "Articles", article.GetType(), article.ID, "Categories");

                Assert.IsTrue(match, "Didn't match on standard check.");
                Assert.IsTrue(match2, "Didn't match on reverse check.");

                DataAccess.Data.Deleter.Delete(article);
                DataAccess.Data.Deleter.Delete(category);
            }
        }
        public virtual void Test_MatchReference_Exclusion()
        {
            using (LogGroup logGroup = LogGroup.Start("Testing the MatchReference function to ensure excludes properly.", NLog.LogLevel.Debug))
            {
                TestArticle article = new TestArticle();
                article.ID = Guid.NewGuid();
                article.Title = "Test Article";

                TestCategory category = new TestCategory();
                category.ID = Guid.NewGuid();
                category.Name = "Test Category";

                TestArticle article2 = new TestArticle();
                article2.ID = Guid.NewGuid();
                article2.Title = "Test Article 2";

                TestCategory category2 = new TestCategory();
                category2.ID = Guid.NewGuid();
                category2.Name = "Test Category 2";

                // Must remain commented out to test exclusion
                article.Categories = new TestCategory[] { category };
                article2.Categories = new TestCategory[] { category2 };

                DataAccess.Data.Saver.Save(category2);
                DataAccess.Data.Saver.Save(category);
                DataAccess.Data.Saver.Save(article);
                DataAccess.Data.Saver.Save(article2);

                bool match = DataAccess.Data.Referencer.MatchReference(article.GetType(), article.ID, "Categories", category2.GetType(), category2.ID);

                Assert.IsFalse(match, "Matched when it shouldn't have.");

                DataAccess.Data.Deleter.Delete(article);
                DataAccess.Data.Deleter.Delete(category);
            }
        }
        public virtual void Test_MatchReference()
        {
            using (LogGroup logGroup = LogGroup.Start("Testing the MatchReference function to ensure matches properly.", NLog.LogLevel.Debug))
            {

                TestArticle article = new TestArticle();
                article.ID = Guid.NewGuid();
                article.Title = "Test Article";

                TestCategory category = new TestCategory();
                category.ID = Guid.NewGuid();
                category.Name = "Test Category";

                TestArticle article2 = new TestArticle();
                article2.ID = Guid.NewGuid();
                article2.Title = "Test Article 2";

                TestCategory category2 = new TestCategory();
                category2.ID = Guid.NewGuid();
                category2.Name = "Test Category 2";

                article.Categories = new TestCategory[] {category};

                EntityReference originalReference = DataAccess.Data.Referencer.GetActiveReferences(article)[0];

                LogWriter.Debug("Original reference - Entity 1 ID: " + originalReference.Entity1ID.ToString());
                LogWriter.Debug("Original reference - Entity 2 ID: " + originalReference.Entity2ID.ToString());
                LogWriter.Debug("Original reference - Property 1 name: " + originalReference.Property1Name);
                LogWriter.Debug("Original reference - Property 2 name: " + originalReference.Property2Name);
                LogWriter.Debug("Original reference - Type 1 name: " + originalReference.Type1Name);
                LogWriter.Debug("Original reference - Type 2 name: " + originalReference.Type2Name);

                foreach (EntityReference r in DataAccess.Data.Referencer.GetActiveReferences(article))
                    DataAccess.Data.Saver.Save(r);

                string mirrorPropertyName = EntitiesUtilities.GetMirrorPropertyName(article,
                                                                                    EntitiesUtilities.GetProperty(article.GetType(), "Categories", typeof(TestCategory[])));

                bool match = DataAccess.Data.Referencer.MatchReference(article.GetType(), article.ID, "Categories", category.GetType(), category.ID, mirrorPropertyName);

                Assert.IsTrue(match, "Didn't match when it should have.");

                DataAccess.Data.Deleter.Delete(article);
                DataAccess.Data.Deleter.Delete(category);
            }
        }
        public virtual void Test_MatchReference_Exclusion()
        {
            using (LogGroup logGroup = LogGroup.Start("Testing the MatchReference function to ensure excludes properly.", NLog.LogLevel.Debug))
            {
                TestArticle article = new TestArticle();
                article.ID    = Guid.NewGuid();
                article.Title = "Test Article";

                TestCategory category = new TestCategory();
                category.ID   = Guid.NewGuid();
                category.Name = "Test Category";

                TestArticle article2 = new TestArticle();
                article2.ID    = Guid.NewGuid();
                article2.Title = "Test Article 2";

                TestCategory category2 = new TestCategory();
                category2.ID   = Guid.NewGuid();
                category2.Name = "Test Category 2";

                // Must remain commented out to test exclusion
                article.Categories  = new TestCategory[] { category };
                article2.Categories = new TestCategory[] { category2 };

                DataAccess.Data.Saver.Save(category2);
                DataAccess.Data.Saver.Save(category);
                DataAccess.Data.Saver.Save(article);
                DataAccess.Data.Saver.Save(article2);

                bool match = DataAccess.Data.Referencer.MatchReference(article.GetType(), article.ID, "Categories", category2.GetType(), category2.ID);

                Assert.IsFalse(match, "Matched when it shouldn't have.");

                DataAccess.Data.Deleter.Delete(article);
                DataAccess.Data.Deleter.Delete(category);
            }
        }
        public virtual void Test_MatchReference()
        {
            using (LogGroup logGroup = LogGroup.Start("Testing the MatchReference function to ensure matches properly.", NLog.LogLevel.Debug))
            {
                TestArticle article = new TestArticle();
                article.ID    = Guid.NewGuid();
                article.Title = "Test Article";

                TestCategory category = new TestCategory();
                category.ID   = Guid.NewGuid();
                category.Name = "Test Category";

                TestArticle article2 = new TestArticle();
                article2.ID    = Guid.NewGuid();
                article2.Title = "Test Article 2";

                TestCategory category2 = new TestCategory();
                category2.ID   = Guid.NewGuid();
                category2.Name = "Test Category 2";

                article.Categories = new TestCategory[] { category };

                EntityReference originalReference = DataAccess.Data.Referencer.GetActiveReferences(article)[0];

                LogWriter.Debug("Original reference - Entity 1 ID: " + originalReference.Entity1ID.ToString());
                LogWriter.Debug("Original reference - Entity 2 ID: " + originalReference.Entity2ID.ToString());
                LogWriter.Debug("Original reference - Property 1 name: " + originalReference.Property1Name);
                LogWriter.Debug("Original reference - Property 2 name: " + originalReference.Property2Name);
                LogWriter.Debug("Original reference - Type 1 name: " + originalReference.Type1Name);
                LogWriter.Debug("Original reference - Type 2 name: " + originalReference.Type2Name);

                foreach (EntityReference r in DataAccess.Data.Referencer.GetActiveReferences(article))
                {
                    DataAccess.Data.Saver.Save(r);
                }

                string mirrorPropertyName = EntitiesUtilities.GetMirrorPropertyName(article,
                                                                                    EntitiesUtilities.GetProperty(article.GetType(), "Categories", typeof(TestCategory[])));

                bool match = DataAccess.Data.Referencer.MatchReference(article.GetType(), article.ID, "Categories", category.GetType(), category.ID, mirrorPropertyName);

                Assert.IsTrue(match, "Didn't match when it should have.");

                DataAccess.Data.Deleter.Delete(article);
                DataAccess.Data.Deleter.Delete(category);
            }
        }
Ejemplo n.º 8
0
        public void Test_IsStored_Reference()
        {
            using (LogGroup logGroup = LogGroup.Start("Testing the IsStored function on a reference object", NLog.LogLevel.Debug))
            {
                TestArticle article = new TestArticle();
                article.ID    = Guid.NewGuid();
                article.Title = "Test Article";

                TestCategory category = new TestCategory();
                category.ID   = Guid.NewGuid();
                category.Name = "Test Category";

                article.Categories = new TestCategory[] { category };

                DataAccess.Data.Saver.Save(category);
                DataAccess.Data.Saver.Save(article);

                EntityReferenceCollection collection = DataAccess.Data.Referencer.GetReferences(article.GetType(), article.ID, "Categories", category.GetType(), false);

                Assert.IsNotNull(collection, "Reference collection is null.");

                if (collection != null)
                {
                    Assert.AreEqual(1, collection.Count, "Incorrect number of references found.");
                }

                foreach (EntityReference reference in collection)
                {
                    bool match = DataAccess.Data.IsStored(reference);

                    Assert.AreEqual(true, match, "Reference wasn't detected.");
                }
            }
        }