public static void Area() { IsoscelesRightTriangle triangle = new IsoscelesRightTriangle(4); double area = triangle.Area(); Assert.AreEqual(8, area, Tolerance); }
public static void LocalCoordinates() { IsoscelesRightTriangle triangle = new IsoscelesRightTriangle(4); IList <CartesianCoordinate> coordinates = triangle.LocalCoordinates(); Assert.AreEqual(3, coordinates.Count); Assert.AreEqual(triangleCoordinates[0].X, coordinates[0].X); Assert.AreEqual(triangleCoordinates[0].Y, coordinates[0].Y, Tolerance); Assert.AreEqual(triangleCoordinates[1], coordinates[1]); Assert.AreEqual(triangleCoordinates[2], coordinates[2]); }
public async Task OnPostAsync() { //todo: remove try/catch once exception middleware is put in place try { FoundTriangle = await _funWithGeoApiClient.FindTriangleByLabelAsync(Label); } catch (Exception) { //todo: create exception handling middleware, should be able to bubble api exceptions from internal micro-services to the UI //im taking a shortcut for now...swallowing exception not goody! FoundTriangle = null; } }
public static void Initialization_with_Coordinates_Creates_Shape() { IsoscelesRightTriangle triangle = new IsoscelesRightTriangle(4); Assert.AreEqual(GeometryLibrary.ZeroTolerance, triangle.Tolerance); Assert.AreEqual(3, triangle.Points.Count); Assert.AreEqual(triangleCoordinates[0].X, triangle.SideA.I.X); Assert.AreEqual(triangleCoordinates[0].Y, triangle.SideA.I.Y, Tolerance); Assert.AreEqual(triangleCoordinates[1], triangle.SideA.J); Assert.AreEqual(triangleCoordinates[1], triangle.SideB.I); Assert.AreEqual(triangleCoordinates[2], triangle.SideB.J); Assert.AreEqual(triangleCoordinates[2], triangle.SideC.I); Assert.AreEqual(triangleCoordinates[0].X, triangle.SideC.J.X); Assert.AreEqual(triangleCoordinates[0].Y, triangle.SideC.J.Y, Tolerance); Assert.AreEqual(3, triangle.Sides.Count); Assert.AreEqual(4, triangle.SideA.Length(), Tolerance); Assert.AreEqual(5.656854249, triangle.SideB.Length(), Tolerance); Assert.AreEqual(4, triangle.SideC.Length(), Tolerance); Assert.AreEqual(3, triangle.Angles.Count); Assert.AreEqual(45, triangle.AngleA.Degrees, Tolerance); Assert.AreEqual(90, triangle.AngleB.Degrees, Tolerance); Assert.AreEqual(45, triangle.AngleC.Degrees, Tolerance); Assert.AreEqual(2.82843, triangle.h, Tolerance); Assert.AreEqual(1.333333, triangle.Centroid.X, Tolerance); Assert.AreEqual(1.333333, triangle.Centroid.Y, Tolerance); Assert.AreEqual(0, triangle.OrthoCenter.X, Tolerance); Assert.AreEqual(0, triangle.OrthoCenter.Y, Tolerance); Assert.AreEqual(2.828427125, triangle.CircumRadius, Tolerance); Assert.AreEqual(2, triangle.CircumCenter.X, Tolerance); Assert.AreEqual(2, triangle.CircumCenter.Y, Tolerance); Assert.AreEqual(1.171572875, triangle.InRadius, Tolerance); Assert.AreEqual(1.171572875, triangle.InCenter.X, Tolerance); Assert.AreEqual(1.171572875, triangle.InCenter.Y, Tolerance); }
private IsoscelesRightTriangle CreateTriangleFromCoordinates(Coordinate coor1, Coordinate coor2, Coordinate coor3, string label) { //right sight up triangle: Coordinate newCoor1 = (Coordinate)coor1.Clone(); Coordinate newCoor2 = (Coordinate)coor2.Clone(); Coordinate newCoor3 = (Coordinate)coor3.Clone(); List <Coordinate> triangleCoorindates = new List <Coordinate> { newCoor1, newCoor2, newCoor3 }; var newTriangle = new IsoscelesRightTriangle(_properties.NonHypotenuseSideLengthInPixels, triangleCoorindates, label); return(newTriangle); }
public Vertex[] GetTriangleByLabel(string Label) { string UCLabel = Label.ToUpper().Trim(); this.InitializeTriangleGrid(); Vertex[] verts = null; var triangles = from triangle in lstIRT where triangle.Label == UCLabel select triangle; if (triangles.Count() == 1) { IsoscelesRightTriangle irt = triangles.ToArray()[0]; verts = irt.Vertices; } return(verts); }
public string GetTriangleByVertices(int x1, int y1, int x2, int y2, int x3, int y3) { this.InitializeTriangleGrid(); Vertex v1 = new Vertex(x1, y1); Vertex v2 = new Vertex(x2, y2); Vertex v3 = new Vertex(x3, y3); string Label = string.Empty; var triangles = from triangle in lstIRT where triangle.Vertices.Contains(v1) && triangle.Vertices.Contains(v2) && triangle.Vertices.Contains(v3) select triangle; if (triangles.Count() == 1) { IsoscelesRightTriangle irt = triangles.ToArray()[0]; Label = irt.Label; } return(Label); }