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)); }
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)); }