예제 #1
0
        public void Fibonacci_Negative_Number_Test()
        {
            var results = new RedPill().FibonacciNumber(-12);

            Assert.AreEqual(-144, results);
            Assert.AreNotEqual(144, results);
        }
예제 #2
0
        public void WhatIsYourTokenTest()
        {
            var svc    = new RedPill();
            var output = svc.WhatIsYourToken();

            Assert.AreEqual(output, new Guid("19c6e11c-a8d8-458f-a5fa-2dcfaa935684"));
        }
예제 #3
0
        public void WhatShapeIsThisTest()
        {
            var svc = new RedPill();

            //equilateral
            int a, b, c;

            a = b = c = 10;
            var output = svc.WhatShapeIsThis(a, b, c);

            Assert.AreEqual(TriangleType.Equilateral, output, "Equilateral check failed");

            //isosceles
            a      = 5;
            b      = 5;
            c      = 8;
            output = svc.WhatShapeIsThis(a, b, c);
            Assert.AreEqual(TriangleType.Isosceles, output, "Isosceles check failed");

            //scalene
            a      = 5;
            b      = 6;
            c      = 10;
            output = svc.WhatShapeIsThis(a, b, c);
            Assert.AreEqual(TriangleType.Scalene, output, "Scalene check failed");

            //error
            a      = 5;
            b      = 5;
            c      = 11;
            output = svc.WhatShapeIsThis(a, b, c);
            Assert.AreEqual(TriangleType.Error, output, "Error check failed");
        }
예제 #4
0
        public void ReverseWords_Hi_Returns_iH()
        {
            // Arrange
            IRedPill redPillService = new RedPill();

            // Act
            var reversedString = redPillService.ReverseWords("Hi");

            // Assert
            Assert.AreEqual("iH", reversedString);
        }
예제 #5
0
        public void FibonacciSeries_Of_10_Returns_55()
        {
            // Arrange
            IRedPill redPillService = new RedPill();

            // Act
            var result = redPillService.FibonacciNumber(10);

            // Assert
            Assert.AreEqual(55, result);
        }
예제 #6
0
        public void ReverseWords_NULL_Throws_ArgumentNullException()
        {
            // Arrange
            IRedPill redPillService = new RedPill();

            // Act
            var reversedString = redPillService.ReverseWords(null);

            // Assert
            Assert.AreEqual("iH", reversedString);
        }
예제 #7
0
        public void DetermineTriangleShape_For_3_4_5_Returns_Scalene()
        {
            // Arrange
            IRedPill redPillService = new RedPill();

            // Act
            var triangleType = redPillService.WhatShapeIsThis(3, 4, 5);

            //Assert
            Assert.AreEqual(TriangleType.Scalene, triangleType);
        }
예제 #8
0
        public void DetermineTriangleShape_For_Minus1_2_3_Returns_Error()
        {
            // Arrange
            IRedPill redPillService = new RedPill();

            // Act
            var triangleType = redPillService.WhatShapeIsThis(-11, 2, 3);

            //Assert
            Assert.AreEqual(TriangleType.Error, triangleType);
        }
예제 #9
0
        public void DetermineTriangleShape_For_2_2_3_Returns_Isosceles()
        {
            // Arrange
            IRedPill redPillService = new RedPill();

            // Act
            var triangleType = redPillService.WhatShapeIsThis(2, 2, 3);

            //Assert
            Assert.AreEqual(TriangleType.Isosceles, triangleType);
        }
예제 #10
0
        public void DetermineTriangleShape_For_2_2_2_Returns_Equilateral()
        {
            // Arrange
            IRedPill redPillService = new RedPill();

            // Act
            var triangleType = redPillService.WhatShapeIsThis(2, 2, 2);

            //Assert
            Assert.AreEqual(TriangleType.Equilateral, triangleType);
        }
예제 #11
0
        public void ReverseWords_HiThere_WithSpaces_PreservesSpaces()
        {
            // Arrange
            IRedPill redPillService = new RedPill();

            // Act
            var reversedString = redPillService.ReverseWords("Hi  there");

            // Assert
            Assert.AreEqual("iH  ereht", reversedString);
        }
예제 #12
0
        public void WhatIsYourToken_Returns_My_Token()
        {
            // Arrange
            var myToken = new Guid("339d7ee0-0b07-4748-b8d9-2b8826775390");

            IRedPill redPillService = new RedPill();

            // Act
            var token = redPillService.WhatIsYourToken();

            // Assert
            Assert.AreEqual(myToken, token);
        }
예제 #13
0
        public void FibonacciNumberExceptionTest()
        {
            var svc = new RedPill();

            try
            {
                var result = svc.FibonacciNumber(95);
            }
            catch (Exception ex)
            {
                Assert.AreEqual("Fib(>92) will cause a 64-bit integer overflow.", ex.Message);
            }
        }
예제 #14
0
        public void ReverseWordExceptionTest()
        {
            string word = null;

            var svc = new RedPill();

            try
            {
                var result = svc.ReverseWords(word);
            }
            catch (Exception ex)
            {
                Assert.AreEqual("Value cannot be null.", ex.Message);
            }
        }
예제 #15
0
        public void FibonacciNumberTest()
        {
            var svc = new RedPill();

            var result = svc.FibonacciNumber(3);

            Assert.AreEqual(2, result, "Fibonacci calculation incorrect");

            result = svc.FibonacciNumber(-5);
            Assert.AreEqual(-5, result, "Fibonacci calculation incorrect");

            result = svc.FibonacciNumber(0);
            Assert.AreEqual(0, result, "Fibonacci calculation incorrect");

            result = svc.FibonacciNumber(1);
            Assert.AreEqual(1, result, "Fibonacci calculation incorrect");

            result = svc.FibonacciNumber(6);
            Assert.AreEqual(8, result, "Fibonacci calculation incorrect");
        }
예제 #16
0
        public void ReverseWordTest()
        {
            var svc = new RedPill();

            var test = svc.ReverseWords(" ");

            Assert.IsTrue(test.Equals(" "));

            test = svc.ReverseWords("word");
            Assert.IsTrue(test.Equals("drow"));

            test = svc.ReverseWords(" my test string ");
            Assert.IsTrue(test.Equals(" ym tset gnirts "));

            test = svc.ReverseWords("my test string ");
            Assert.IsTrue(test.Equals("ym tset gnirts "));

            test = svc.ReverseWords(" my test string");
            Assert.IsTrue(test.Equals(" ym tset gnirts"));

            test = svc.ReverseWords("my  test   string");
            Assert.IsTrue(test.Equals("ym  tset   gnirts"));
        }
예제 #17
0
        public void IdentifyTriangle_IsocelesTest()
        {
            var result = new RedPill().WhatShapeIsThis(10, 10, 15);

            Assert.AreEqual(TriangleType.Isosceles, result);
        }
예제 #18
0
        public void IdentifyTriangle_ErrorTest()
        {
            var result = new RedPill().WhatShapeIsThis(10, 10, 20);

            Assert.AreEqual(TriangleType.Error, result);
        }
예제 #19
0
        public void ReverseWords_MultipleCharsTest()
        {
            var results = new RedPill().ReverseWords("123");

            Assert.AreEqual("321", results, false);
        }
예제 #20
0
        public void ReverseWords_SingleSpaceInStartTest()
        {
            var results = new RedPill().ReverseWords(" My Sample String");

            Assert.AreEqual(" yM elpmaS gnirtS", results, false);
        }
예제 #21
0
        public void Fibonacci_PositivieNumber_Test()
        {
            var results = new RedPill().FibonacciNumber(12);

            Assert.AreEqual(144, results);
        }
예제 #22
0
 public void Fibonacci_Exception_Test()
 {
     var results = new RedPill().FibonacciNumber(100);
 }
예제 #23
0
        public void Fibonacci_Upper_Range_Test()
        {
            var results = new RedPill().FibonacciNumber(92);

            Assert.AreEqual(7540113804746346429, results);
        }
예제 #24
0
        public void ReverseWords_MultipleSpacesInBetweenTest()
        {
            var results = new RedPill().ReverseWords("My  Sample  String");

            Assert.AreEqual("yM  elpmaS  gnirtS", results, false);
        }
예제 #25
0
        public void ReverseWords_SingleCharTest()
        {
            var results = new RedPill().ReverseWords("1");

            Assert.AreEqual("1", results, false);
        }
예제 #26
0
        public void ReverseWords_DoubleSpacesBothEndsTest()
        {
            var results = new RedPill().ReverseWords("  My Sample String  ");

            Assert.AreEqual("  yM elpmaS gnirtS  ", results, false);
        }
예제 #27
0
        public void IdentifyTriangle_ScaleneTest()
        {
            var result = new RedPill().WhatShapeIsThis(10, 12, 20);

            Assert.AreEqual(TriangleType.Scalene, result);
        }
예제 #28
0
        public void Fibonacci_Lower_Range_Test()
        {
            var results = new RedPill().FibonacciNumber(0);

            Assert.AreEqual(0, results);
        }
예제 #29
0
        public void IdentifyTriangle_EquilateralTest()
        {
            var result = new RedPill().WhatShapeIsThis(10, 10, 10);

            Assert.AreEqual(TriangleType.Equilateral, result);
        }
예제 #30
0
        public void ReverseWords_EmptyStringTest()
        {
            var results = new RedPill().ReverseWords("");

            Assert.AreEqual(String.Empty, results, false);
        }