示例#1
0
        public void FilterByClass_SubEntities_ReturnsOnlyMatchingEntities()
        {
            var ho      = new TestHypermediaObject();
            var entity1 = new SubEntity1HypermediaObject();
            var entity2 = new SubEntity2HypermediaObject();

            ho.Entities.Add("ARel", entity1);
            ho.Entities.Add("ARel", entity2);

            var result = ho.Entities.FilterByClass <SubEntity1HypermediaObject>().ToList();

            Assert.AreEqual(1, result.Count);
            Assert.IsTrue(result.Any(e => e.Reference.GetInstance() == entity1));
        }
示例#2
0
        public void GetInstanceByClass_MixedEntities_ReturnsMatching()
        {
            const string relationA = "ARel";

            var ho      = new TestHypermediaObject();
            var entity1 = new SubEntity1HypermediaObject();
            var entity2 = new SubEntity2HypermediaObject();


            ho.Entities.Add(relationA, entity1);
            ho.Entities.Add(relationA, entity2);


            var result = ho.Entities.GetInstanceByClass <SubEntity1HypermediaObject>().ToList();

            Assert.AreEqual(1, result.Count);
            Assert.IsTrue(result.Contains(entity1));
        }
        public void GetInstanceByClass_EntityWithNullAsInstance_ReturnsMatching()
        {
            const string relationA = "ARel";

            var ho      = new TestHypermediaObject();
            var entity1 = new SubEntity1HypermediaObject();
            var entity2 = new SubEntity2HypermediaObject();

            ho.Entities.Add(relationA, entity1);
            // get instance will return null
            ho.Entities.Add(relationA, new HypermediaObjectKeyReference(typeof(TestHypermediaObject), "AKey"));


            var result = ho.Entities.GetInstanceByClass <SubEntity1HypermediaObject>().ToList();

            Assert.AreEqual(1, result.Count);
            Assert.IsTrue(result.Contains(entity1));
        }