public void NullParameterTest() { var hierarchy = new Hierarchy(null); Assert.IsNotNull(hierarchy); Assert.AreEqual(1, hierarchy.GetChildren(1).Single()); Assert.AreEqual(1, hierarchy.GetParents(1).Single()); }
public void SingleElement_GetParents() { short id1 = 1; short id2 = 2; var items = new List<Relation>(); items.Add(new Relation { Child = id1, Parent = id2 }); var result = new Hierarchy(items); var parents = result.GetParents(id1); Assert.AreEqual(2, parents.Count()); Assert.IsTrue(parents.Contains(id1)); Assert.IsTrue(parents.Contains(id2)); var parents0 = result.GetParents(id2); Assert.AreEqual(1, parents0.Count()); Assert.IsTrue(parents0.Contains(id2)); }
public void AllItemsPoshortDown_GetParents() { var items = new List<Relation>(); items.Add(new Relation { Child = i1, Parent = i3 }); items.Add(new Relation { Child = i1, Parent = i4 }); items.Add(new Relation { Child = i2, Parent = i3 }); items.Add(new Relation { Child = i2, Parent = i4 }); items.Add(new Relation { Child = i1, Parent = i5 }); items.Add(new Relation { Child = i2, Parent = i5 }); items.Add(new Relation { Child = i3, Parent = i5 }); items.Add(new Relation { Child = i4, Parent = i5 }); var result = new Hierarchy(items); this.AssertHelper(new List<short> { i1, i3, i4, i5 }, result.GetParents(i1)); this.AssertHelper(new List<short> { i2, i3, i4, i5 }, result.GetParents(i2)); this.AssertHelper(new List<short> { i3, i5 }, result.GetParents(i3)); this.AssertHelper(new List<short> { i4, i5 }, result.GetParents(i4)); this.AssertHelper(new List<short> { i5 }, result.GetParents(i5)); }
public void ComplexHierarchy_TwoLevelTree() { var items = new List<Relation>(); items.Add(new Relation{ Child = i2, Parent = i1}); items.Add(new Relation{ Child = i3, Parent = i2}); items.Add(new Relation{ Child = i4, Parent = i2}); items.Add(new Relation{ Child = i5, Parent = i1}); items.Add(new Relation{ Child = i6, Parent = i5}); items.Add(new Relation{ Child = i7, Parent = i5}); var result = new Hierarchy(items); this.AssertHelper(new List<short> { i1 }, result.GetParents(i1)); this.AssertHelper(new List<short> { i1, i2, i3, i4, i5, i6, i7 }, result.GetChildren(i1)); this.AssertHelper(new List<short> { i1, i2 }, result.GetParents(i2)); this.AssertHelper(new List<short> { i2, i3, i4 }, result.GetChildren(i2)); this.AssertHelper(new List<short> { i1, i2, i3 }, result.GetParents(i3)); this.AssertHelper(new List<short> { i3 }, result.GetChildren(i3)); }
public void TwoElementHierarchy_GetParents() { short id1 = 1; short id2 = 2; short id3 = 3; var items = new List<Relation>(); items.Add(new Relation { Child = id1, Parent = id2 }); items.Add(new Relation { Child = id2, Parent = id3 }); var result = new Hierarchy(items); var parents1 = result.GetParents(id1); Assert.AreEqual(3, parents1.Count()); Assert.IsTrue(parents1.Contains(id1)); Assert.IsTrue(parents1.Contains(id2)); Assert.IsTrue(parents1.Contains(id3)); var parents2 = result.GetParents(id2); Assert.AreEqual(2, parents2.Count()); Assert.IsTrue(parents2.Contains(id2)); Assert.IsTrue(parents2.Contains(id3)); var parents3 = result.GetParents(id3); Assert.AreEqual(1, parents3.Count()); Assert.IsTrue(parents3.Contains(id3)); }