public AnagramControllerTest()
 {
     this.anagramsTextFileController = new AnagramsTextFile(new List <string> {
         "ZAB", "BAZ", "AZB"
     }.ToArray());
     this.anagramController = new AnagramController(this.anagramsTextFileController);
 }
示例#2
0
        public void Index_ReturnsCorrectView_True()
        {
            //Arrange
            AnagramController controller = new AnagramController();

            //Act
            ActionResult indexView = controller.Index();

            //Assert
            Assert.IsInstanceOfType(indexView, typeof(ViewResult));
        }
示例#3
0
        public void Create_ReturnsCorrectActionType_RedirectToActionResult()
        {
            //Arrange
            AnagramController controller = new AnagramController();

            //Act
            IActionResult view = controller.Output("cat", "atc tac");

            //Assert
            Assert.IsInstanceOfType(view, typeof(ViewResult));
            var viewResult = view as ViewResult;

            Assert.IsInstanceOfType(viewResult.Model, typeof(Anagram));
            var model = viewResult.Model as Anagram;

            Assert.AreEqual(model.GetWord(), "cat");
            Assert.AreEqual(model.GetWords(), "atc tac");
        }
        public void GetAnagrams_WhenLongWords_DoesLog()
        {
            //Arrange
            IAnagramResolverService resolver = null;
            TestLogger             logger    = new TestLogger();
            IAnagramResolverMetric metric    = null;
            var objectUnderTest = new AnagramController(resolver, logger, metric);

            string word     = "0123456789AB";
            string language = "en";

            //Act
            var actual = objectUnderTest.GetAnagrams(word, language).GetAwaiter().GetResult() as BadRequestObjectResult;

            //Assert
            Assert.AreEqual(true, logger.LogCalled);
            Assert.AreEqual(1, (actual.Value as string[]).Length);
        }
        public void GetAnagrams_DoesLogExceptions_ButItDoesNotThrow()
        {
            //Arrange
            IAnagramResolverService resolver = new TestResolver();
            TestLogger             logger    = new TestLogger();
            IAnagramResolverMetric metric    = null;
            var objectUnderTest = new AnagramController(resolver, logger, metric);

            string word     = "ab";
            string language = "en";

            //Act
            var actual = objectUnderTest.GetAnagrams(word, language).GetAwaiter().GetResult() as BadRequestObjectResult;

            //Assert
            Assert.AreEqual(true, logger.LogCalled);
            Assert.AreEqual("error", (actual.Value as string[]) [0]);
        }