Example #1
0
        private static void TestTriangle(string firstSide, string secondSide, string thirdSide, string expectedMessage)
        {
            var    triangleChecker  = new TriangleChecker(firstSide, secondSide, thirdSide);
            string resultOfChecking = triangleChecker.CheckTriangle();

            Assert.AreEqual(expectedMessage, resultOfChecking);
        }
Example #2
0
        public void ReturnsRightOnRightAngleOppSideA()
        {
            var info1 = TriangleChecker.GetTriangleStats(5, 3, 4);
            var info2 = TriangleChecker.GetTriangleStats(5, 4, 3);

            Assert.AreEqual(TriangleAngle.Right, info1.Angle);
            Assert.AreEqual(TriangleAngle.Right, info2.Angle);
        }
Example #3
0
        public void ReturnsObtuseOnObtuseAngleOppSideC()
        {
            var info1 = TriangleChecker.GetTriangleStats(3, 4, 6);
            var info2 = TriangleChecker.GetTriangleStats(4, 3, 6);

            Assert.AreEqual(TriangleAngle.Obtuse, info1.Angle);
            Assert.AreEqual(TriangleAngle.Obtuse, info2.Angle);
        }
Example #4
0
 public TriangleCheckerTests()
 {
     _configMock = new Mock <IOptions <AppSettings> >();
     _configMock.Setup(x => x.Value)
     .Returns(new AppSettings {
         MaximalValue = 99
     });
     _sut = new TriangleChecker(_configMock.Object);
 }
Example #5
0
        public void IncorrectTriangle()
        {
            double firstSide  = 1.0;
            double secondSide = 1.0;
            double thirdSide  = 3.0;
            bool   result     = TriangleChecker.IsTriangleCorrect(firstSide, secondSide, thirdSide);

            Assert.False(result);
        }
Example #6
0
        public void NotRectangular()
        {
            double firstSide  = 3.0;
            double secondSide = 4.0;
            double thirdSide  = 6.0;
            bool   result     = TriangleChecker.IsTriangleRectangular(firstSide, secondSide, thirdSide);

            Assert.False(result);
        }
Example #7
0
        public void ReturnsAcuteWhenOneLegIsZero()
        {
            var info1 = TriangleChecker.GetTriangleStats(0, 1, 1);
            var info2 = TriangleChecker.GetTriangleStats(1, 0, 1);
            var info3 = TriangleChecker.GetTriangleStats(1, 1, 0);

            Assert.AreEqual(TriangleAngle.Acute, info1.Angle);
            Assert.AreEqual(TriangleAngle.Acute, info2.Angle);
            Assert.AreEqual(TriangleAngle.Acute, info3.Angle);
        }
Example #8
0
        public void ReturnsObtuseWhenTwoLegsEqualThird()
        {
            var info1 = TriangleChecker.GetTriangleStats(2, 1, 1);
            var info2 = TriangleChecker.GetTriangleStats(1, 2, 1);
            var info3 = TriangleChecker.GetTriangleStats(1, 1, 2);

            Assert.AreEqual(TriangleAngle.Obtuse, info1.Angle);
            Assert.AreEqual(TriangleAngle.Obtuse, info2.Angle);
            Assert.AreEqual(TriangleAngle.Obtuse, info3.Angle);
        }
Example #9
0
        public void ReturnsTrueOnControlCharacterInput()
        {
            var isValid = TriangleChecker.IsValidKeystroke("", (char)0x0000);

            isValid &= TriangleChecker.IsValidKeystroke("", (char)0x001F);
            isValid &= TriangleChecker.IsValidKeystroke("", (char)0x007F);
            isValid &= TriangleChecker.IsValidKeystroke("", (char)0x0080);
            isValid &= TriangleChecker.IsValidKeystroke("", (char)0x009F);

            Assert.IsTrue(isValid);
        }
Example #10
0
        public void ReturnsRightOnLargeDiffBetweenLegs()
        {
            // One angle is 90 degrees, one is very close to 90, and one is very close to zero
            var info1 = TriangleChecker.GetTriangleStats(30000.00002, 30000, 1);
            var info2 = TriangleChecker.GetTriangleStats(1, 30000.00002, 30000);
            var info3 = TriangleChecker.GetTriangleStats(30000, 1, 30000.00002);

            Assert.AreEqual(TriangleAngle.Right, info1.Angle);
            Assert.AreEqual(TriangleAngle.Right, info2.Angle);
            Assert.AreEqual(TriangleAngle.Right, info3.Angle);
        }
Example #11
0
        public void ReturnsAcuteOnVeryCloseToRightAngle()
        {
            // two of the angles are roughly 89.999 degrees, making the third almost zero
            var info1 = TriangleChecker.GetTriangleStats(1, 30000, 30000);
            var info2 = TriangleChecker.GetTriangleStats(30000, 1, 30000);
            var info3 = TriangleChecker.GetTriangleStats(30000, 30000, 1);

            Assert.AreEqual(TriangleAngle.Acute, info1.Angle);
            Assert.AreEqual(TriangleAngle.Acute, info2.Angle);
            Assert.AreEqual(TriangleAngle.Acute, info3.Angle);
        }
        public void ScaleneTriangleReturnsCorrectName()
        {
            var info = new TriangleStats()
            {
                Angle = TriangleAngle.Acute,
                Type  = TriangleType.Scalene
            };

            var result = TriangleChecker.GetTriangleName(info);

            Assert.AreEqual("acute scalene", result);
        }
Example #13
0
        public void ReturnsObtuseOnLargeObtuseAngle()
        {
            // the obtuse angle is roughly 179.5 degrees (triangle is almost flat)

            var info1 = TriangleChecker.GetTriangleStats(20, 10.0001, 10.0001);
            var info2 = TriangleChecker.GetTriangleStats(10.0001, 20, 10.0001);
            var info3 = TriangleChecker.GetTriangleStats(10.0001, 10.0001, 20);

            Assert.AreEqual(TriangleAngle.Obtuse, info1.Angle);
            Assert.AreEqual(TriangleAngle.Obtuse, info2.Angle);
            Assert.AreEqual(TriangleAngle.Obtuse, info3.Angle);
        }
        public void EquilateralTriangleReturnsCorrectName()
        {
            var info = new TriangleStats()
            {
                Angle = TriangleAngle.Acute,
                Type  = TriangleType.Equilateral
            };

            var result = TriangleChecker.GetTriangleName(info);

            Assert.AreEqual("equilateral", result);
        }
        public void IsoscelesTriangleReturnsCorrectName()
        {
            var info = new TriangleStats()
            {
                Angle = TriangleAngle.Acute,
                Type  = TriangleType.Isosceles
            };

            var result = TriangleChecker.GetTriangleName(info);

            Assert.AreEqual("acute isosceles", result);
        }
Example #16
0
        public void ReturnsFalseOnInvalidCharacterInput()
        {
            var isValid = TriangleChecker.IsValidKeystroke("", 'a');

            isValid |= TriangleChecker.IsValidKeystroke("", 'B');
            isValid |= TriangleChecker.IsValidKeystroke("", '!');
            isValid |= TriangleChecker.IsValidKeystroke("", '*');
            isValid |= TriangleChecker.IsValidKeystroke("", '-');
            isValid |= TriangleChecker.IsValidKeystroke("", '+');
            isValid |= TriangleChecker.IsValidKeystroke("", ' ');

            Assert.IsFalse(isValid);
        }
Example #17
0
        public void ReturnsTrueOnNumericalInput()
        {
            var isValid = TriangleChecker.IsValidKeystroke("", '0');

            isValid &= TriangleChecker.IsValidKeystroke("", '1');
            isValid &= TriangleChecker.IsValidKeystroke("", '2');
            isValid &= TriangleChecker.IsValidKeystroke("", '3');
            isValid &= TriangleChecker.IsValidKeystroke("", '4');
            isValid &= TriangleChecker.IsValidKeystroke("", '5');
            isValid &= TriangleChecker.IsValidKeystroke("", '6');
            isValid &= TriangleChecker.IsValidKeystroke("", '7');
            isValid &= TriangleChecker.IsValidKeystroke("", '8');
            isValid &= TriangleChecker.IsValidKeystroke("", '9');

            Assert.IsTrue(isValid);
        }
Example #18
0
 public void ThrowsExceptionOnNegativeSideC()
 {
     Assert.ThrowsException <ArgumentException>(() => TriangleChecker.GetTriangleStats(1, 1, -1));
 }
Example #19
0
 public void ThrowsExceptionOnAGreaterThanBC()
 {
     Assert.ThrowsException <InvalidTriangleException>(() => TriangleChecker.GetTriangleStats(3, 1, 1));
 }
Example #20
0
 public void ThrowsExceptionOnCGreaterThanAB()
 {
     Assert.ThrowsException <InvalidTriangleException>(() => TriangleChecker.GetTriangleStats(1, 1, 3));
 }
Example #21
0
        public void ReturnsFalseOnFirstPeriod()
        {
            var isValid = TriangleChecker.IsValidKeystroke("0.1", '.');

            Assert.IsFalse(isValid);
        }
Example #22
0
        public void ReturnsEquilateralOnAllEqualSides()
        {
            var info = TriangleChecker.GetTriangleStats(1, 1, 1);

            Assert.AreEqual(TriangleType.Equilateral, info.Type);
        }
Example #23
0
 public void ThrowsExceptionOnNullString()
 {
     Assert.ThrowsException <ArgumentException>(() => TriangleChecker.IsValidKeystroke(null, '1'));
 }
Example #24
0
        public void ReturnsIsoscelesOnCAEqual()
        {
            var info = TriangleChecker.GetTriangleStats(2, 1, 2);

            Assert.AreEqual(TriangleType.Isosceles, info.Type);
        }
Example #25
0
        public void ReturnsAcuteOnAllAnglesLessThan90()
        {
            var info = TriangleChecker.GetTriangleStats(3, 3, 2);

            Assert.AreEqual(TriangleAngle.Acute, info.Angle);
        }
Example #26
0
        public void ReturnsScaleneOnNoEqualSides()
        {
            var info = TriangleChecker.GetTriangleStats(2, 3, 4);

            Assert.AreEqual(TriangleType.Scalene, info.Type);
        }