public void InsertGreaterWithoutRightNode() { // Arrange var sut = new Node <int>(5); sut.Insert(6); // Act sut.Insert(7); // Assert Assert.IsNotNull(sut.Right.Right); Assert.IsNull(sut.Left); Assert.IsNull(sut.Right.Left); Assert.AreEqual(7, sut.Right.Right.Value); }
public void InsertLesserWithLeftNode() { // Arrange var sut = new Node <int>(5); sut.Insert(4); // Act sut.Insert(3); // Assert Assert.IsNotNull(sut.Left.Left); Assert.IsNull(sut.Right); Assert.IsNull(sut.Left.Right); Assert.AreEqual(3, sut.Left.Left.Value); }
public void ContainsNodeValueReturnTrue() { // Arrange var sut = new Node <int>(5); sut.Insert(6); sut.Insert(7); sut.Insert(4); sut.Insert(3); // Act var contains = sut.Contains(5); // Assert Assert.IsTrue(contains); }
public void TestInsertDimensionsNotMatch([Values( new[] { 1, 2.0 }, new[] { 2.0, 10, 9, -2 })] double[] p) { var root = new Node(1); var point = new Point(p); Assert.Throws <ArgumentException>(() => root.Insert(point)); }
public void EnumerationReturnsItemsInOrder() { // Arrange var sut = new Node <int>(5); sut.Insert(6); sut.Insert(7); sut.Insert(4); sut.Insert(3); // Act var lastValue = 3; foreach (var value in sut) { Assert.GreaterOrEqual(value, lastValue); lastValue = value; } }
public void ToStringReturnsElementsInOrder() { // Arrange var sut = new Node <int>(5); sut.Insert(6); sut.Insert(7); sut.Insert(4); sut.Insert(3); // Act var toString = sut.ToString(); // Assert var values = toString.Split(',', 0); for (int i = 1; i < values.Length - 1; i++) { Assert.Greater(values[i], values[i - 1]); } }
public void ContainsGreaterValuRightNodeReturnsTrue() { // Arrange var sut = new Node <int>(5); sut.Insert(6); // Act var contains = sut.Contains(6); // Assert Assert.IsTrue(contains); }
public void ContainsLesserValueLeftNodeReturnsTrue() { // Arrange var sut = new Node <int>(5); sut.Insert(4); // Act var contains = sut.Contains(4); // Assert Assert.IsTrue(contains); }
public void TestGetNearestPoint() { var root = new Node(2); var query = new Point(new double[] { 1, 2 }); var points = new List <Point> { new Point(new double[] { 2, 3 }), new Point(new double[] { 12, 6 }), new Point(new double[] { 60, 27 }), new Point(new double[] { 211, 90 }) }; root.Insert(points); var nearest = root.GetNearestPoint(query); Assert.AreEqual(points[1], nearest); }