/// <summary> /// Converts to the equivalent domain model cube object /// </summary> /// <returns> /// The equivalent domain model Cube object. /// </returns> public static Cube ToDomain(this Models.Cube cubeA) { return(new Cube( new Point3D(cubeA.CenterX, cubeA.CenterY, cubeA.CenterZ), cubeA.SizeX, cubeA.SizeY, cubeA.SizeZ)); }
public void CubesOverlapped_SameCenter() { Polygons.Models.Cube cubeA = new Models.Cube(1, 1, 1, 3); Polygons.Models.Cube cubeB = new Models.Cube(1, 1, 1, 3); bool result = Algebra.IsOverlapping(cubeA, cubeB); Assert.AreEqual(true, result); }
public void CubesNOTOverlapped() { Polygons.Models.Cube cubeA = new Models.Cube(1, 1, 1, 3); Polygons.Models.Cube cubeB = new Models.Cube(5, 5, 5, 3); bool result = Algebra.IsOverlapping(cubeA, cubeB); Assert.AreEqual(false, result); }
public void QueryCubeCaseOne() { var valueUpdate1 = 4; var valueUpdate2 = 23; Models.Cube cube = new Models.Cube(); cube.GenerateCube(4); var coordenate1 = new ValueObjects.Coordenate() { X = 2, Y = 2, Z = 2 }; cube.Update(coordenate1, valueUpdate1); var coordenateQuery11 = new ValueObjects.Coordenate() { X = 1, Y = 1, Z = 1 }; var coordenateQuery12 = new ValueObjects.Coordenate() { X = 3, Y = 3, Z = 3 }; var valueResult1 = cube.Query(coordenateQuery11, coordenateQuery12); Assert.IsTrue(valueResult1 == valueUpdate1); var coordenate2 = new ValueObjects.Coordenate() { X = 1, Y = 1, Z = 1 }; cube.Update(coordenate2, valueUpdate2); var coordenateQuery21 = new ValueObjects.Coordenate() { X = 2, Y = 2, Z = 2 }; var coordenateQuery22 = new ValueObjects.Coordenate() { X = 4, Y = 4, Z = 4 }; var valueResult2 = cube.Query(coordenateQuery21, coordenateQuery22); Assert.IsTrue(valueResult2 == valueUpdate1); var valueResult3 = cube.Query(coordenateQuery11, coordenateQuery12); Assert.IsTrue(valueResult3 == valueUpdate2 + valueUpdate1); }
public void UpdateCube() { var valueUpdate = 4; Models.Cube cube = new Models.Cube(); cube.GenerateCube(2); var coordenate = new ValueObjects.Coordenate() { X = 2, Y = 2, Z = 2 }; cube.Update(coordenate, valueUpdate); if (cube.Nodes.TryGetValue(coordenate, out long value)) { Assert.IsTrue(value == valueUpdate); } else { Assert.Fail(); } }
public void QueryCubeCaseTwo() { var valueUpdate = 1; Models.Cube cube = new Models.Cube(); cube.GenerateCube(2); var coordenate1 = new ValueObjects.Coordenate() { X = 2, Y = 2, Z = 2 }; cube.Update(coordenate1, valueUpdate); var coordenateQuery11 = new ValueObjects.Coordenate() { X = 1, Y = 1, Z = 1 }; var coordenateQuery12 = new ValueObjects.Coordenate() { X = 1, Y = 1, Z = 1 }; var valueResult1 = cube.Query(coordenateQuery11, coordenateQuery12); Assert.IsTrue(valueResult1 == 0); var coordenateQuery21 = new ValueObjects.Coordenate() { X = 1, Y = 1, Z = 1 }; var coordenateQuery22 = new ValueObjects.Coordenate() { X = 2, Y = 2, Z = 2 }; var valueResult2 = cube.Query(coordenateQuery21, coordenateQuery22); Assert.IsTrue(valueResult2 == valueUpdate); var valueResult3 = cube.Query(coordenateQuery22, coordenateQuery22); Assert.IsTrue(valueResult3 == valueUpdate); }