protected ActionResolver GetActionResolver(DateTime returningDate)
        {
            var todayWrapper = new StubTodayWrapper(returningDate);
            var dateTranslator = new DateTranslator(todayWrapper);
            var numberTranslator = new NumberTranslator();

            return new ActionResolver(dateTranslator, numberTranslator);
        }
        protected ActionResolver GetActionResolver()
        {
            var todayWrapper = new TodayWrapper();
            var dateTranslator = new DateTranslator(todayWrapper);
            var numberTranslator = new NumberTranslator();

            return new ActionResolver(dateTranslator, numberTranslator);
        }
        public static string GetSearchOptions(string searchText)
        {
            var wrapper = new TodayWrapper();
            var dateTranslator = new DateTranslator(wrapper);
            var numberTranslator = new NumberTranslator();

            var resolver = new ActionResolver(dateTranslator, numberTranslator);
            return resolver.Resolve(searchText).ToString();
        }
        public void Multiple_numbers_written_as_words_in_a_sentence_are_replaced_with_numbers(string questionText, string expectedValue)
        {
            // Arrange
            var translator = new NumberTranslator();

            // Act
            var actualValue = translator.Translate(questionText);

            // Assert
            Assert.AreEqual(expectedValue, actualValue);
        }
        public void A_simple_english_number_written_as_a_word_is_translated_correctly(string word, string expectedValue)
        {
            // Arrange
            var translator = new NumberTranslator();

            // Act
            var actualValue = translator.Translate(word);

            // Assert
            Assert.AreEqual(expectedValue, actualValue);
        }
        public void A_number_written_as_a_word_in_a_sentence_is_replace_with_the_number(string questionText, string expectedValue)
        {
            // Arrange
            var translator = new NumberTranslator();

            // Act
            var actualValue = translator.Translate(questionText);

            // Assert
            Assert.AreEqual(expectedValue, actualValue);
        }