public void WhatShapeIsThis() { // Arrange var service = new ShapeService(); // Act var test1 = service.ClassifyTriangleType(0, 0, 0); var test2 = service.ClassifyTriangleType(1, 1, 2); var test3 = service.ClassifyTriangleType(-1, 0, 1); var test4 = service.ClassifyTriangleType(-1, -1, -1); var test5 = service.ClassifyTriangleType(-1, 1, 1); var test6 = service.ClassifyTriangleType(1, -1, 1); var test7 = service.ClassifyTriangleType(1, 1, -1); var test8 = service.ClassifyTriangleType(3, 3, 5000); var test9 = service.ClassifyTriangleType(1, 1, 2147483647); var test10 = service.ClassifyTriangleType(-2147483648, -2147483648, -2147483648); var test11 = service.ClassifyTriangleType(1, 1, 1); var test12 = service.ClassifyTriangleType(2147483647, 2147483647, 2147483647); var test13 = service.ClassifyTriangleType(3, 3, 5); var test14 = service.ClassifyTriangleType(10, 10, 5); var test15 = service.ClassifyTriangleType(15, 1, 15); var test16 = service.ClassifyTriangleType(3, 4, 5); var test17 = service.ClassifyTriangleType(5, 3, 4); var test18 = service.ClassifyTriangleType(4, 5, 3); var test19 = service.ClassifyTriangleType(2147483647, 2147483647, 2147483647); // Assert Assert.IsTrue(test1 == TriangleType.Error); Assert.IsTrue(test2 == TriangleType.Error); Assert.IsTrue(test3 == TriangleType.Error); Assert.IsTrue(test4 == TriangleType.Error); Assert.IsTrue(test5 == TriangleType.Error); Assert.IsTrue(test6 == TriangleType.Error); Assert.IsTrue(test7 == TriangleType.Error); Assert.IsTrue(test8 == TriangleType.Error); Assert.IsTrue(test9 == TriangleType.Error); Assert.IsTrue(test10 == TriangleType.Error); Assert.IsTrue(test11 == TriangleType.Equilateral); Assert.IsTrue(test12 == TriangleType.Equilateral); Assert.IsTrue(test13 == TriangleType.Isosceles); Assert.IsTrue(test14 == TriangleType.Isosceles); Assert.IsTrue(test15 == TriangleType.Isosceles); Assert.IsTrue(test16 == TriangleType.Scalene); Assert.IsTrue(test17 == TriangleType.Scalene); Assert.IsTrue(test18 == TriangleType.Scalene); Assert.IsTrue(test19 == TriangleType.Equilateral); }
/// <summary> /// Classify the type of a triangle. /// </summary> /// <param name="a">Length of side 'a'.</param> /// <param name="b">Length of side 'b'.</param> /// <param name="c">Length of side 'c'.</param> /// <returns>The <see cref="TriangleType"/> type.</returns> public TriangleType WhatShapeIsThis(int a, int b, int c) { var properties = new Dictionary<string, string> { { "Argument 'a'", a.ToString() }, { "Argument 'b'", b.ToString() }, { "Argument 'c'", c.ToString() } }; telemetry.TrackEvent("WhatShapeIsThis", properties); TriangleType result = TriangleType.Error; try { result = new ShapeService().ClassifyTriangleType(a, b, c); } catch (Exception exception) { telemetry.TrackException(exception); } return result; }