public static TriangleTypes GetTriangleType(double aSideSize, double bSideSize, double cSideSize) { TriangleTypes determinedTriangleType = TriangleTypes.Invalid; // Is valid sides for any type of triangle if (((aSideSize + bSideSize) <= cSideSize) || ((cSideSize + bSideSize) <= aSideSize) || ((aSideSize + cSideSize) <= bSideSize)) { determinedTriangleType = TriangleTypes.Invalid; } else if ((aSideSize == bSideSize) && (bSideSize == cSideSize)) // Test for equilateral triangle type: all sides are equal { determinedTriangleType = TriangleTypes.Equilateral; } else if ((aSideSize == bSideSize) || (bSideSize == cSideSize) || (aSideSize == cSideSize)) // Any 2 sides should be equal { determinedTriangleType = TriangleTypes.Isosceles; } else // All 3 sides are different { determinedTriangleType = TriangleTypes.Scalene; } return(determinedTriangleType); }
public void TestCalculate() { var service = new TriangleTypes(); Assert.Equal("Equilateral", service.Calculate(3, 3, 3)); Assert.Equal("Isosceles", service.Calculate(3, 4, 4)); Assert.Equal("Scalene", service.Calculate(3, 4, 5)); }
public void TestCalculate_Negative() { var service = new TriangleTypes(); Assert.Equal("Error", service.Calculate(-3, 3, 3)); Assert.Equal("Error", service.Calculate(3, -4, 4)); Assert.Equal("Error", service.Calculate(3, 4, -5)); }
private void InitTriangleData(double a, double b, double c) { A = a; B = b; C = c; TriangleType = (SortSides(ref _a, ref _b, ref _c)) ? GetTriangleTypes(A, B, C) : TriangleTypes.NonValid; }
/// <summary> /// Method to get a display-friendly name for <see cref="TriangleTypes"/> /// </summary> public static string ToFriendlyString(this TriangleTypes type) { switch (type) { case TriangleTypes.NotTriangle: return(TriangleNames.NotTriangle); default: return(type.ToString()); } }
public void TestNotEqualTriangleType(long a, long b, long c, TriangleTypes expectedTrinagleTypes) { //Arrange var trinagleType = new TrinagleType(); //Act var asctualTrinagleTypes = trinagleType.GetTriangleType(a, b, c); //Assert Assert.Equal(expectedTrinagleTypes, asctualTrinagleTypes); }
public void ValidTestCase() { TriangleTypes triangleType = TrianglesManager.GetTriangleType(1.5, 2.0, 1.4); Assert.AreEqual(TriangleTypes.Scalene, triangleType); triangleType = TrianglesManager.GetTriangleType(5, 5, 4); Assert.AreEqual(TriangleTypes.Isosceles, triangleType); triangleType = TrianglesManager.GetTriangleType(3, 3, 4); Assert.AreEqual(TriangleTypes.Isosceles, triangleType); triangleType = TrianglesManager.GetTriangleType(5, 5, 5); Assert.AreEqual(TriangleTypes.Equilateral, triangleType); }
/// <summary> /// Classifies a triangle as either Equilateral, Isosceles, Scalene, or Not a Triangle /// </summary> /// <param name="triangle"></param> /// <returns><see cref="TriangleTypes"/></returns> public static TriangleTypes Classify(Triangle triangle) { //NOTE(greg): initializing to scalene // if this is a triangle, is not an equilateral, and not isosceles, // this triangle must be scalene TriangleTypes type = TriangleTypes.Scalene; if (IsNotTriangle(triangle)) { type = TriangleTypes.NotTriangle; } else if (AllSidesAreEqual(triangle)) { type = TriangleTypes.Equilateral; } else if (TwoSidesAreEqual(triangle)) { type = TriangleTypes.Isosceles; } return(type); }
public void InvalidTestCase() { TriangleTypes triangleType = TrianglesManager.GetTriangleType(0, 1, 1); Assert.AreEqual(TriangleTypes.Invalid, triangleType); triangleType = TrianglesManager.GetTriangleType(1, 0, 1); Assert.AreEqual(TriangleTypes.Invalid, triangleType); triangleType = TrianglesManager.GetTriangleType(1, 1, 0); Assert.AreEqual(TriangleTypes.Invalid, triangleType); triangleType = TrianglesManager.GetTriangleType(100, 1, 1); Assert.AreEqual(TriangleTypes.Invalid, triangleType); triangleType = TrianglesManager.GetTriangleType(-1, 1, 1); Assert.AreEqual(TriangleTypes.Invalid, triangleType); }
public ActionResult <string> GetTriangleType([FromQuery(Name = "a")] int a, [FromQuery(Name = "b")] int b, [FromQuery(Name = "c")] int c) { var service = new TriangleTypes(); return(service.Calculate(a, b, c)); }
public void Triangles(int a, int b, int c, string expected) { string result = TriangleTypes.Triangles(a, b, c); Assert.AreEqual(expected, result); }
private void calculateClassification() { _type = TriangleClassifier.Classify(this); }