public void RemovePeakOrLast() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.RemovePeak(0); }
public void InArcsCountDelPeakOr() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddPeak(); Assert.AreEqual(0, graph.InArcsCount(0)); Assert.AreEqual(1, graph.InArcsCount(1)); Assert.AreEqual(0, graph.InArcsCount(2)); graph.AddArc(1, 2); graph.AddArc(0, 2); Assert.AreEqual(0, graph.InArcsCount(0)); Assert.AreEqual(1, graph.InArcsCount(1)); Assert.AreEqual(2, graph.InArcsCount(2)); graph.RemovePeak(1); Assert.AreEqual(1, graph.InArcsCount(1)); Assert.AreEqual(0, graph.InArcsCount(0)); }
public void AddArcOr() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(2, 1); Assert.IsTrue(graph.ContainsArc(0, 1)); Assert.IsFalse(graph.ContainsArc(1, 0)); Assert.IsFalse(graph.ContainsArc(1, 2)); Assert.IsTrue(graph.ContainsArc(2, 1)); Assert.IsFalse(graph.ContainsArc(0, 2)); Assert.IsFalse(graph.ContainsArc(2, 0)); graph.AddArc(2, 0); Assert.IsTrue(graph.ContainsArc(0, 1)); Assert.IsFalse(graph.ContainsArc(1, 0)); Assert.IsFalse(graph.ContainsArc(1, 2)); Assert.IsTrue(graph.ContainsArc(2, 1)); Assert.IsFalse(graph.ContainsArc(0, 2)); Assert.IsTrue(graph.ContainsArc(2, 0)); }
public void InArcsCount() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(0, 2); graph.AddArc(1, 2); graph.AddArc(1, 3); Assert.AreEqual(2, graph.InArcsCount(0)); Assert.AreEqual(3, graph.InArcsCount(1)); Assert.AreEqual(2, graph.InArcsCount(2)); Assert.AreEqual(1, graph.InArcsCount(3)); graph.DeleteArc(2, 1); Assert.AreEqual(2, graph.InArcsCount(0)); Assert.AreEqual(2, graph.InArcsCount(1)); Assert.AreEqual(1, graph.InArcsCount(2)); Assert.AreEqual(1, graph.InArcsCount(3)); graph.DeleteArc(0, 1); Assert.AreEqual(1, graph.InArcsCount(0)); Assert.AreEqual(1, graph.InArcsCount(1)); Assert.AreEqual(1, graph.InArcsCount(2)); Assert.AreEqual(1, graph.InArcsCount(3)); }
public void OrientedOr() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); Assert.IsTrue(graph.Oriented); }
public void Oriented() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); Assert.IsFalse(graph.Oriented); }
public void FiveModern() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); Dictionary <char, int> peakCodes = new Dictionary <char, int> { ['a'] = 0, ['b'] = 1, ['c'] = 2, ['d'] = 3, ['e'] = 4 }; graph.AddArc(peakCodes['a'], peakCodes['b']); graph.AddArc(peakCodes['b'], peakCodes['c']); graph.AddArc(peakCodes['c'], peakCodes['d']); graph.AddArc(peakCodes['d'], peakCodes['e']); graph.AddArc(peakCodes['e'], peakCodes['a']); graph.RemovePeak(peakCodes['c']); peakCodes.Remove('c'); peakCodes['d'] = 2; peakCodes['e'] = 3; Assert.AreEqual(4, graph.PeakCount); Assert.IsTrue(graph.ContainsArc(peakCodes['a'], peakCodes['b'])); Assert.IsTrue(graph.ContainsArc(peakCodes['d'], peakCodes['e'])); Assert.IsTrue(graph.ContainsArc(peakCodes['e'], peakCodes['a'])); Assert.IsFalse(graph.ContainsArc(peakCodes['a'], peakCodes['d'])); Assert.IsFalse(graph.ContainsArc(peakCodes['b'], peakCodes['d'])); Assert.IsFalse(graph.ContainsArc(peakCodes['b'], peakCodes['a'])); Assert.IsFalse(graph.ContainsArc(peakCodes['e'], peakCodes['d'])); Assert.IsFalse(graph.ContainsArc(peakCodes['a'], peakCodes['e'])); Assert.IsFalse(graph.ContainsArc(peakCodes['d'], peakCodes['a'])); Assert.IsFalse(graph.ContainsArc(peakCodes['d'], peakCodes['b'])); Assert.IsFalse(graph.ContainsArc(peakCodes['b'], peakCodes['e'])); Assert.IsFalse(graph.ContainsArc(peakCodes['e'], peakCodes['b'])); graph.RemovePeak(peakCodes['e']); peakCodes.Remove('e'); Assert.AreEqual(3, graph.PeakCount); Assert.IsTrue(graph.ContainsArc(peakCodes['a'], peakCodes['b'])); Assert.IsFalse(graph.ContainsArc(peakCodes['a'], peakCodes['d'])); Assert.IsFalse(graph.ContainsArc(peakCodes['b'], peakCodes['d'])); Assert.IsFalse(graph.ContainsArc(peakCodes['b'], peakCodes['a'])); // ??? - ошибка Assert.IsFalse(graph.ContainsArc(peakCodes['d'], peakCodes['a'])); Assert.IsFalse(graph.ContainsArc(peakCodes['d'], peakCodes['b'])); }
public void RemovePeakOrRangeExLess() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.RemovePeak(-1); }
public void RemovePeakRangeExMore() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.RemovePeak(4); }
public void DeleteArcNotExistPeakOr() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.DeleteArc(4, 1); }
public void DeleteArc() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(0, 2); graph.AddArc(1, 2); graph.AddArc(1, 3); Assert.IsTrue(graph.ContainsArc(0, 1)); Assert.IsTrue(graph.ContainsArc(1, 0)); Assert.IsTrue(graph.ContainsArc(0, 2)); Assert.IsTrue(graph.ContainsArc(2, 0)); Assert.IsTrue(graph.ContainsArc(1, 2)); Assert.IsTrue(graph.ContainsArc(2, 1)); Assert.IsTrue(graph.ContainsArc(1, 3)); Assert.IsTrue(graph.ContainsArc(3, 1)); Assert.IsFalse(graph.ContainsArc(0, 3)); Assert.IsFalse(graph.ContainsArc(3, 0)); Assert.IsFalse(graph.ContainsArc(2, 3)); Assert.IsFalse(graph.ContainsArc(3, 2)); graph.DeleteArc(2, 1); Assert.IsTrue(graph.ContainsArc(0, 1)); Assert.IsTrue(graph.ContainsArc(1, 0)); Assert.IsTrue(graph.ContainsArc(0, 2)); Assert.IsTrue(graph.ContainsArc(2, 0)); Assert.IsFalse(graph.ContainsArc(1, 2)); Assert.IsFalse(graph.ContainsArc(2, 1)); Assert.IsTrue(graph.ContainsArc(1, 3)); Assert.IsTrue(graph.ContainsArc(3, 1)); Assert.IsFalse(graph.ContainsArc(0, 3)); Assert.IsFalse(graph.ContainsArc(3, 0)); Assert.IsFalse(graph.ContainsArc(2, 3)); Assert.IsFalse(graph.ContainsArc(3, 2)); graph.DeleteArc(0, 1); Assert.IsFalse(graph.ContainsArc(0, 1)); Assert.IsFalse(graph.ContainsArc(1, 0)); Assert.IsTrue(graph.ContainsArc(0, 2)); Assert.IsTrue(graph.ContainsArc(2, 0)); Assert.IsFalse(graph.ContainsArc(1, 2)); Assert.IsFalse(graph.ContainsArc(2, 1)); Assert.IsTrue(graph.ContainsArc(1, 3)); Assert.IsTrue(graph.ContainsArc(3, 1)); Assert.IsFalse(graph.ContainsArc(0, 3)); Assert.IsFalse(graph.ContainsArc(3, 0)); Assert.IsFalse(graph.ContainsArc(2, 3)); Assert.IsFalse(graph.ContainsArc(3, 2)); }
public void PeakCountOr() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); Assert.AreEqual(3, graph.PeakCount); }
public void RemovePeakOrMiddle() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.RemovePeak(2); }
public void AddArcNotExistPeak() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(4, 1); }
public void RemovePeakMax() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.RemovePeak(3); }
public void AddRepeatArcOr() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(0, 1); }
public void AddRepeatArcReverseEx() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(1, 0); }
public void DeleteArcIncorrect() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.DeleteArc(1, 2); }
public void DeleteArcIncorrectOrInverse() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); Assert.IsTrue(graph.ContainsArc(0, 1)); Assert.IsFalse(graph.ContainsArc(1, 0)); graph.DeleteArc(1, 0); }
public void RangeException() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(1, 2); graph.AddArc(2, 0); graph.RemovePeak(4); graph.RemovePeak(-1); }
public void AddPeak() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); Assert.AreEqual(3, graph.PeakCount); graph.AddPeak(); Assert.AreEqual(4, graph.PeakCount); graph.AddPeak(); graph.AddPeak(); Assert.AreEqual(6, graph.PeakCount); }
public void PeakCountAfterAddOr() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(1, 2); graph.AddArc(2, 0); Assert.AreEqual(3, graph.PeakCount); graph.AddPeak(); Assert.AreEqual(4, graph.PeakCount); }
public void CountAfterRemove() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(1, 2); graph.AddArc(2, 0); Assert.AreEqual(3, graph.PeakCount); graph.RemovePeak(2); Assert.AreEqual(2, graph.PeakCount); }
public void RemovePeakOrMany() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.RemovePeak(3); Assert.AreEqual(3, graph.PeakCount); graph.RemovePeak(1); Assert.AreEqual(2, graph.PeakCount); graph.RemovePeak(0); Assert.AreEqual(1, graph.PeakCount); }
public void ThreeElFromEndInorrect() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(1, 2); graph.AddArc(2, 0); graph.RemovePeak(2); Assert.IsTrue(graph.ContainsArc(2, 1)); Assert.IsTrue(graph.ContainsArc(1, 2)); }
public void OutGoingArcsOrEmptyPeak() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); Assert.IsTrue(graph.OutGoingArcs(2).Count() == 0); foreach (var e in graph.OutGoingArcs(2)) { Assert.AreEqual(0, graph.OutGoingArcs(2)); Assert.AreEqual(0, e); } }
public void ThreeElFromMiddleCorrect() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(1, 2); graph.AddArc(2, 0); graph.RemovePeak(1); Assert.AreEqual(2, graph.PeakCount); Assert.IsTrue(graph.ContainsArc(1, 0)); Assert.IsTrue(graph.ContainsArc(0, 1)); }
public void FiveElFromMiddleCorrect() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); Dictionary <char, int> peakCodes = new Dictionary <char, int> { ['a'] = 0, ['b'] = 1, ['c'] = 2, ['d'] = 3, ['e'] = 4 }; graph.AddArc(peakCodes['a'], peakCodes['b']); graph.AddArc(peakCodes['b'], peakCodes['c']); graph.AddArc(peakCodes['c'], peakCodes['d']); graph.AddArc(peakCodes['d'], peakCodes['e']); graph.AddArc(peakCodes['e'], peakCodes['a']); graph.RemovePeak(peakCodes['c']); peakCodes.Remove('c'); peakCodes['d'] = 2; peakCodes['e'] = 3; Assert.AreEqual(4, graph.PeakCount); Assert.IsTrue(graph.ContainsArc(peakCodes['a'], peakCodes['b'])); Assert.IsTrue(graph.ContainsArc(peakCodes['d'], peakCodes['e'])); Assert.IsTrue(graph.ContainsArc(peakCodes['e'], peakCodes['a'])); Assert.IsFalse(graph.ContainsArc(peakCodes['a'], peakCodes['d'])); Assert.IsFalse(graph.ContainsArc(peakCodes['b'], peakCodes['d'])); Assert.IsTrue(graph.ContainsArc(peakCodes['b'], peakCodes['a'])); Assert.IsTrue(graph.ContainsArc(peakCodes['e'], peakCodes['d'])); Assert.IsTrue(graph.ContainsArc(peakCodes['a'], peakCodes['e'])); Assert.IsFalse(graph.ContainsArc(peakCodes['d'], peakCodes['a'])); Assert.IsFalse(graph.ContainsArc(peakCodes['d'], peakCodes['b'])); Assert.IsFalse(graph.ContainsArc(peakCodes['b'], peakCodes['e'])); Assert.IsFalse(graph.ContainsArc(peakCodes['e'], peakCodes['b'])); }
public void RemovePeakAll() { UnweightedGraphList graph = new UnweightedGraphList(false); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.RemovePeak(3); Assert.AreEqual(3, graph.PeakCount); graph.RemovePeak(1); Assert.AreEqual(2, graph.PeakCount); graph.RemovePeak(0); Assert.AreEqual(1, graph.PeakCount); graph.RemovePeak(0); Assert.AreEqual(0, graph.PeakCount); }
public void OutGoingArcsOr() { UnweightedGraphList graph = new UnweightedGraphList(true); graph.AddPeak(); graph.AddPeak(); graph.AddPeak(); graph.AddArc(0, 1); graph.AddArc(0, 2); graph.AddArc(1, 0); graph.AddArc(1, 2); graph.AddArc(2, 0); int i = 0; int[] zero = { 1, 2 }; int[] one = { 0, 2 }; int[] two = { 0 }; foreach (var e in graph.OutGoingArcs(0)) { Assert.IsTrue(graph.OutGoingArcs(0).Count() == zero.Length); Assert.IsTrue(zero[i] == e); i++; } i = 0; foreach (var e in graph.OutGoingArcs(1)) { Assert.IsTrue(graph.OutGoingArcs(1).Count() == one.Length); Assert.IsTrue(one[i] == e); i++; } i = 0; foreach (var e in graph.OutGoingArcs(2)) { Assert.IsTrue(graph.OutGoingArcs(2).Count() == two.Length); Assert.IsTrue(two[i] == e); i++; } }