public void GivenRelationExistsBetweenElementsWhenFindRelationsThenReturnsRelationBwetweenTheElements() { DsmRelationModel model = new DsmRelationModel(_elementsDataModel); CreateElementRelations(model); List <IDsmRelation> relations = model.FindRelations(_a, _b).OrderBy(x => x.Id).ToList(); Assert.AreEqual(4, relations.Count); Assert.AreEqual(_a1.Id, relations[0].ConsumerId); Assert.AreEqual(_b1.Id, relations[0].ProviderId); Assert.AreEqual(1000, relations[0].Weight); Assert.AreEqual(_a2.Id, relations[1].ConsumerId); Assert.AreEqual(_b1.Id, relations[1].ProviderId); Assert.AreEqual(200, relations[1].Weight); Assert.AreEqual(_a1.Id, relations[2].ConsumerId); Assert.AreEqual(_b2.Id, relations[2].ProviderId); Assert.AreEqual(30, relations[2].Weight); Assert.AreEqual(_a2.Id, relations[3].ConsumerId); Assert.AreEqual(_b2.Id, relations[3].ProviderId); Assert.AreEqual(4, relations[3].Weight); }
public void GivenModelIsFilledWhenRemovingRelationThenReducesRelationCount() { DsmRelationModel model = new DsmRelationModel(_elementsDataModel); CreateElementRelations(model); int relationCountBefore = model.GetRelationCount(); IDsmRelation relation = model.FindRelations(_a2, _b2).FirstOrDefault(); Assert.IsNotNull(relation); model.RemoveRelation(relation.Id); Assert.AreEqual(relationCountBefore - 1, model.GetRelationCount()); }
public void GivenModelIsFilledWhenUnremovingRelationThenRestoresCalculatedDerivedWeights() { DsmRelationModel model = new DsmRelationModel(_elementsDataModel); CreateElementRelations(model); Assert.AreEqual(1000, model.GetDependencyWeight(_a1.Id, _b1.Id)); Assert.AreEqual(200, model.GetDependencyWeight(_a2.Id, _b1.Id)); Assert.AreEqual(30, model.GetDependencyWeight(_a1.Id, _b2.Id)); Assert.AreEqual(4, model.GetDependencyWeight(_a2.Id, _b2.Id)); Assert.AreEqual(1030, model.GetDependencyWeight(_a1.Id, _b.Id)); Assert.AreEqual(204, model.GetDependencyWeight(_a2.Id, _b.Id)); Assert.AreEqual(1200, model.GetDependencyWeight(_a.Id, _b1.Id)); Assert.AreEqual(34, model.GetDependencyWeight(_a.Id, _b2.Id)); Assert.AreEqual(1234, model.GetDependencyWeight(_a.Id, _b.Id)); IDsmRelation relation = model.FindRelations(_a2, _b2).FirstOrDefault(); Assert.IsNotNull(relation); model.RemoveRelation(relation.Id); Assert.AreEqual(1000, model.GetDependencyWeight(_a1.Id, _b1.Id)); Assert.AreEqual(200, model.GetDependencyWeight(_a2.Id, _b1.Id)); Assert.AreEqual(30, model.GetDependencyWeight(_a1.Id, _b2.Id)); Assert.AreEqual(0, model.GetDependencyWeight(_a2.Id, _b2.Id)); Assert.AreEqual(1030, model.GetDependencyWeight(_a1.Id, _b.Id)); Assert.AreEqual(200, model.GetDependencyWeight(_a2.Id, _b.Id)); Assert.AreEqual(1200, model.GetDependencyWeight(_a.Id, _b1.Id)); Assert.AreEqual(30, model.GetDependencyWeight(_a.Id, _b2.Id)); Assert.AreEqual(1230, model.GetDependencyWeight(_a.Id, _b.Id)); model.UnremoveRelation(relation.Id); Assert.AreEqual(1000, model.GetDependencyWeight(_a1.Id, _b1.Id)); Assert.AreEqual(200, model.GetDependencyWeight(_a2.Id, _b1.Id)); Assert.AreEqual(30, model.GetDependencyWeight(_a1.Id, _b2.Id)); Assert.AreEqual(4, model.GetDependencyWeight(_a2.Id, _b2.Id)); Assert.AreEqual(1030, model.GetDependencyWeight(_a1.Id, _b.Id)); Assert.AreEqual(204, model.GetDependencyWeight(_a2.Id, _b.Id)); Assert.AreEqual(1200, model.GetDependencyWeight(_a.Id, _b1.Id)); Assert.AreEqual(34, model.GetDependencyWeight(_a.Id, _b2.Id)); Assert.AreEqual(1234, model.GetDependencyWeight(_a.Id, _b.Id)); }
public void GivenModelIsFilledWhenChangeRelationWeightThenUpdatesCalculatedDerivedWeights() { DsmRelationModel model = new DsmRelationModel(_elementsDataModel); CreateElementRelations(model); Assert.AreEqual(1000, model.GetDependencyWeight(_a1.Id, _b1.Id)); Assert.AreEqual(200, model.GetDependencyWeight(_a2.Id, _b1.Id)); Assert.AreEqual(30, model.GetDependencyWeight(_a1.Id, _b2.Id)); Assert.AreEqual(4, model.GetDependencyWeight(_a2.Id, _b2.Id)); Assert.AreEqual(1030, model.GetDependencyWeight(_a1.Id, _b.Id)); Assert.AreEqual(204, model.GetDependencyWeight(_a2.Id, _b.Id)); Assert.AreEqual(1200, model.GetDependencyWeight(_a.Id, _b1.Id)); Assert.AreEqual(34, model.GetDependencyWeight(_a.Id, _b2.Id)); Assert.AreEqual(1234, model.GetDependencyWeight(_a.Id, _b.Id)); IDsmRelation relation = model.FindRelations(_a2, _b2).FirstOrDefault(); Assert.IsNotNull(relation); model.ChangeRelationWeight(relation, 5); Assert.AreEqual(1000, model.GetDependencyWeight(_a1.Id, _b1.Id)); Assert.AreEqual(200, model.GetDependencyWeight(_a2.Id, _b1.Id)); Assert.AreEqual(30, model.GetDependencyWeight(_a1.Id, _b2.Id)); Assert.AreEqual(5, model.GetDependencyWeight(_a2.Id, _b2.Id)); Assert.AreEqual(1030, model.GetDependencyWeight(_a1.Id, _b.Id)); Assert.AreEqual(205, model.GetDependencyWeight(_a2.Id, _b.Id)); Assert.AreEqual(1200, model.GetDependencyWeight(_a.Id, _b1.Id)); Assert.AreEqual(35, model.GetDependencyWeight(_a.Id, _b2.Id)); Assert.AreEqual(1235, model.GetDependencyWeight(_a.Id, _b.Id)); }