public void ReturnCorrespondingWordsToInputNumberAndCurrency(double number, string currencySymbol, string words)
        {
            var    numberTranslator = new NumberTranslator();
            string actual           = numberTranslator.Translate(number, currencySymbol);

            actual.Should().Be(words);
        }
 public void Number2WordsTest2()
 {
     Assert.AreEqual("three", NumberTranslator.Number2Words(3));
     Assert.AreEqual("five", NumberTranslator.Number2Words(5));
     Assert.AreEqual("eight", NumberTranslator.Number2Words(8));
     Assert.AreEqual("three hundred one", NumberTranslator.Number2Words(301));
 }
Example #3
0
        public void Constructor_Test()
        {
            string           userInputTest        = "4";
            NumberTranslator testNumberTranslator = new NumberTranslator(userInputTest);

            Assert.AreEqual("4", testNumberTranslator.GetUserInput());
        }
        public void Translate_ThrowError_WhenCalledNull(string input)
        {
            // Arrange
            var translator = NumberTranslator.Create(new CultureInfo("de-DE"), new CultureInfo("en-US"));

            // Act
            Assert.ThrowsException <ArgumentNullException>(() => translator.Translate(input));
        }
Example #5
0
        public void GenerateWords_TestTensException()
        {
            string           userInputTest        = "19";
            NumberTranslator testNumberTranslator = new NumberTranslator(userInputTest);

            testNumberTranslator.SplitInput();
            Assert.AreEqual("nineteen", testNumberTranslator.GenerateWords());
        }
Example #6
0
        public void GenerateWords_Test()
        {
            string           userInputTest        = "444";
            NumberTranslator testNumberTranslator = new NumberTranslator(userInputTest);

            testNumberTranslator.SplitInput();
            Assert.AreEqual("four hundred forty four", testNumberTranslator.GenerateWords());
        }
 public void Number2WordsTest3()
 {
     Assert.AreEqual("seven hundred ninety-three", NumberTranslator.Number2Words(793));
     Assert.AreEqual("eight hundred", NumberTranslator.Number2Words(800));
     Assert.AreEqual("six hundred fifty", NumberTranslator.Number2Words(650));
     Assert.AreEqual("one thousand", NumberTranslator.Number2Words(1000));
     Assert.AreEqual("one thousand three", NumberTranslator.Number2Words(1003));
 }
        public void Create_ThrowError_WhenCalledNullOrEmpty(string sourceCultureName, string targetCultureName)
        {
            // Arrange
            CultureInfo sourceCulture = sourceCultureName != null ? new CultureInfo(sourceCultureName) : null;
            CultureInfo targetCulture = targetCultureName != null ? new CultureInfo(targetCultureName) : null;

            // Act
            Assert.ThrowsException <ArgumentNullException>(() => NumberTranslator.Create(sourceCulture, targetCulture));
        }
Example #9
0
        public void SplitInput_Test()
        {
            string           userInputTest        = "44";
            NumberTranslator testNumberTranslator = new NumberTranslator(userInputTest);

            testNumberTranslator.SplitInput();
            Assert.AreEqual(40, testNumberTranslator.GetNumberList()[0]);
            Assert.AreEqual(4, testNumberTranslator.GetNumberList()[1]);
        }
Example #10
0
    static void Main()
    {
        Console.WriteLine("Enter a number between 1 and 999");
        string           inputtedString     = Console.ReadLine();
        NumberTranslator myNumberTranslator = new NumberTranslator(inputtedString);

        myNumberTranslator.SplitInput();
        Console.WriteLine("Your number was " + myNumberTranslator.GenerateWords() + ".");
    }
Example #11
0
        static void Main(string[] args)
        {
            int letterCount = 0;

            for (int i = 1; i <= 1000; i++)
            {
                letterCount += NumberTranslator.GetTranslation(i).Replace(" ", "").Length;
            }
            Console.Write(letterCount);
            Console.ReadKey();
        }
Example #12
0
        public void Translate_WhenCalledEmpty(string input)
        {
            // Arrange
            var translator = NumberTranslator.Create(new CultureInfo("de-DE"), new CultureInfo("en-US"));

            // Act
            var result = translator.Translate(input);

            // Assert
            Assert.AreEqual(input, result);
        }
        public void TranslateNumber_TranslatesAHundredToNineHundredNintyNinty_True()
        {
            //Arrange
            NumberTranslator testNumber = new NumberTranslator(722);
            string           expected   = "seven hundred twenty-two";

            //Act
            string actual = testNumber.TranslateNumber();

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void TranslateNumber_TranslatesTwentyOneToNinetyNine_True()
        {
            //Arrange
            NumberTranslator testNumber = new NumberTranslator(33);
            string           expected   = "thirty-three";

            //Act
            string actual = testNumber.TranslateNumber();

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void TranslateNumber_TranslatesElevenToNineteen_True()
        {
            //Arrange
            NumberTranslator testNumber = new NumberTranslator(15);
            string           expected   = "fifteen";

            //Act
            string actual = testNumber.TranslateNumber();

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void TranslateNumber_TranslatesZeroToTen_True()
        {
            //Arrange
            NumberTranslator testNumber = new NumberTranslator(7);
            string           expected   = "seven";

            //Act
            string actual = testNumber.TranslateNumber();

            //Assert
            Assert.AreEqual(expected, actual);
        }
Example #17
0
        public void TranslateBack_NoErrors_WhenCalled(string input, string expectedResult)
        {
            // Arrange
            var translator = NumberTranslator.Create(new CultureInfo("de-DE"), new CultureInfo("en-US"));

            // Act
            var result = translator.TranslateBack(input);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(expectedResult, result);
        }
Example #18
0
        public void Create_WhenCalled(string sourceCultureName, string targetCultureName)
        {
            // Arrange
            CultureInfo sourceCulture = new CultureInfo(sourceCultureName);
            CultureInfo targetCulture = new CultureInfo(targetCultureName);

            // Act
            var translator = NumberTranslator.Create(sourceCulture, targetCulture);

            // Assert
            Assert.IsNotNull(translator);
        }
        public void Translate_NoRemovalOfLeadingZeroesOnEdgeCases(string input, string expectedResult)
        {
            // Arrange
            var translator = NumberTranslator.Create(new CultureInfo("pt-PT"), new CultureInfo("en-US"));

            // Act
            var result = translator.Translate(input);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(expectedResult, result);
        }
Example #20
0
        /// <summary>
        /// Counts letters in <paramref name="number"/>
        /// </summary>
        /// <returns>Number of letters</returns>
        private int CountLetters(int number)
        {
            var numberTranslator = new NumberTranslator(number);
            int count            = 0;

            count += numberTranslator.CountThousands();
            count += numberTranslator.CountHundreds();
            count += numberTranslator.CountAndsBetweenHundredsAndTens();
            count += numberTranslator.CountTensAbove19();
            count += numberTranslator.CountTeensAndSingles();

            return(count);
        }
        public IActionResult Excercise3(int number)
        {
            var numberTranslator = new NumberTranslator();

            try
            {
                ViewBag.Result = numberTranslator.FromDecimalToRoman(number);
            }
            catch (Exception e)
            {
                ViewBag.Error = e.Message;
            }

            return(View());
        }
Example #22
0
        public void Translate_RemoveNumberGroupSeparator_WhenCalled(string decimalSeparator, string groupSeparator, string input, string expectedResult)
        {
            // Arrange
            var sourceCulture = new CultureInfo("en-US")
            {
                NumberFormat =
                {
                    NumberDecimalSeparator = decimalSeparator,
                    NumberGroupSeparator   = groupSeparator,
                },
            };
            var translator = NumberTranslator.Create(sourceCulture, new CultureInfo("en-US"));

            // Act
            var result = translator.Translate(input);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(expectedResult, result);
        }
 public void Number2WordsTest4()
 {
     Assert.AreEqual("ninety-nine thousand nine hundred ninety-nine", NumberTranslator.Number2Words(99999));
     Assert.AreEqual("eight hundred eighty-eight thousand eight hundred eighty-eight", NumberTranslator.Number2Words(888888));
     Assert.AreEqual("six million eight hundred forty-five thousand nine hundred twenty-one", NumberTranslator.Number2Words(6845921));
 }
Example #24
0
        public void TestNumberTranslatorFromDecimalToRoman(int numberDecimal, string numberRoman)
        {
            var numberTranslator = new NumberTranslator();

            Assert.Equal(numberTranslator.FromDecimalToRoman(numberDecimal), numberRoman);
        }
Example #25
0
        public void TestErrorNumberTranslatorInvalidArgument(int number)
        {
            var numberTranslator = new NumberTranslator();

            Assert.Throws <ArgumentException>(() => numberTranslator.FromDecimalToRoman(number));
        }
 public void Number2WordsTest1()
 {
     Assert.AreEqual("zero", NumberTranslator.Number2Words(0));
     Assert.AreEqual("one", NumberTranslator.Number2Words(1));
 }
        private string AverageTimeFormatted(double avg, Culture culture = Culture.En)
        {
            TimeSpan timeSpan = TimeSpan.FromMinutes(avg);

            return(NumberTranslator.TimeToString(timeSpan, Culture.Ru));
        }
Example #28
0
        public void ExecuteProgram(string[] args)
        {
            bool isNewTry = false;

            do
            {
                if (isNewTry)
                {
                    args     = ConsoleUI.AskInputParams();
                    isNewTry = false;
                }

                if (!Validator.IsValid(args))
                {
                    Logger.Log.Info("ProgramController: "
                                    + "Input data is not valid");

                    ConsoleUI.ShowMessage("Your data is not valid");

                    if (!ConsoleUI.AskСonfirmation("Do you want to retype them?",
                                                   new string[] { "YES", "Y" }))
                    {
                        Logger.Log.Info("ProgramController: "
                                        + "Program completion. "
                                        + "User refused to re-enter data");

                        break;
                    }

                    Logger.Log.Debug("ProgramController: "
                                     + "Re-input data");

                    args = ConsoleUI.AskInputParams();

                    continue;
                }

                InputDTO inputDTO = Parser.Parse(args);
                NumberToTextConverter converter;

                Logger.Log.Debug("ProgramController: "
                                 + "Type of translator selected: "
                                 + inputDTO.Algorithm.ToString());

                switch (inputDTO.Algorithm)
                {
                case InputDTO.Algorithms.English:
                    converter = new EnglishNumberToTextConverter();
                    break;

                default:
                    converter = new EnglishNumberToTextConverter();
                    break;
                }

                NumberTranslator translator = new NumberTranslator(converter);

                if (translator.CanConvertToText(inputDTO.Number))
                {
                    ConsoleUI.ShowMessage(
                        translator.ConvertToText(inputDTO.Number));
                }
                else
                {
                    Logger.Log.InfoFormat("ProgramController: "
                                          + "translator {0} can't convert {1}"
                                          , inputDTO.Algorithm.ToString()
                                          , inputDTO.Number);

                    ConsoleUI.ShowMessage(
                        "This converter can't convert the number. " +
                        "The number is too big.");
                }

                if (ConsoleUI.AskСonfirmation("Do you want to continue?",
                                              new string[] { "YES", "Y" }))
                {
                    Logger.Log.Info("ProgramController: "
                                    + "Program continue. "
                                    + "User confirmed continuation");

                    isNewTry = true;
                }
                else
                {
                    Logger.Log.Info("ProgramController: "
                                    + "Program completion. "
                                    + "User did't confirm continuation");

                    break;
                }
            } while (true);
        }
 private void HandleTranslation()
 {
     TranslatedNumber = NumberTranslator.TranslateToNumber(PhoneNumber);
     MessagingCenter.Send <MainPageViewModel>(this, "NumberTranslated");
 }
 public NumberTranslatorTests()
 {
     _numberTranslater = new NumberTranslator();
 }