Example #1
0
        [InlineData("42,42", 10, 10, "42,42")]                              // decimal to decimal
        public void Convert_ConvertDifferentNumbersFromAnyNumberSystemToAny_Should_ConvertCorrectly(string number, int currentSystem, int neededSystem, string expected)
        {
            /*Act*/
            string actual = NumberConverterService.Convert(number, currentSystem, neededSystem);

            /*Assert*/
            Assert.Equal(expected, actual);
        }
        public void CurrencyToWords_One()
        {
            var testInput = 1.01M;
            var result    = NumberConverterService.CurrencyToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("ONE DOLLAR AND ONE CENT", result.ToUpper());
        }
        public void CurrencyToWords_Million()
        {
            var testInput = 123000000.45M;
            var result    = NumberConverterService.CurrencyToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("ONE HUNDRED AND TWENTY - THREE MILLION DOLLARS AND FORTY - FIVE CENTS", result.ToUpper());
        }
        public void NumberToWords_Max()
        {
            var testInput = 2147483647;
            var result    = NumberConverterService.NumberToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("TWO THOUSAND ONE HUNDRED AND FORTY - SEVEN MILLION FOUR HUNDRED AND EIGHTY - THREE THOUSAND SIX HUNDRED AND FORTY - SEVEN", result.ToUpper());
        }
        public void CurrencyToWords_MillionThousandHundred()
        {
            var testInput = 123456789.10M;
            var result    = NumberConverterService.CurrencyToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("ONE HUNDRED AND TWENTY - THREE MILLION FOUR HUNDRED AND FIFTY - SIX THOUSAND SEVEN HUNDRED AND EIGHTY - NINE DOLLARS AND TEN CENTS", result.ToUpper());
        }
        public void NumberToWords_Teen()
        {
            var testInput = 12;
            var result    = NumberConverterService.NumberToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("TWELVE", result.ToUpper());
        }
        public void NumberToWords_Million()
        {
            var testInput = 123000000;
            var result    = NumberConverterService.NumberToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("ONE HUNDRED AND TWENTY - THREE MILLION", result.ToUpper());
        }
        public void NumberToWords_Zero()
        {
            var testInput = 0;
            var result    = NumberConverterService.NumberToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("ZERO", result.ToUpper());
        }
        public void CurrencyToWords_Negative()
        {
            var testInput = -14.10M;
            var result    = NumberConverterService.CurrencyToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("NEGATIVE FOURTEEN DOLLARS AND TEN CENTS", result.ToUpper());
        }
        public void CurrencyToWords_Zero()
        {
            var testInput = 0M;
            var result    = NumberConverterService.CurrencyToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("ZERO DOLLARS AND ZERO CENTS", result.ToUpper());
        }
        public void CurrencyToWords_Teen()
        {
            var testInput = 12.17M;
            var result    = NumberConverterService.CurrencyToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("TWELVE DOLLARS AND SEVENTEEN CENTS", result.ToUpper());
        }
        public void NumberToWords_Negative()
        {
            var testInput = -14;
            var result    = NumberConverterService.NumberToWords(testInput);

            Assert.IsNotNull(result);
            Assert.AreNotEqual("", result);
            Assert.AreEqual("NEGATIVE FOURTEEN", result.ToUpper());
        }
        public void Hundreds_ShowsCorrectWords(int number, string expectedWordString)
        {
            //Arrange
            var converterService = new NumberConverterService();

            //Act
            var wordString = converterService.ConvertNumberToWord(number);

            //Assert
            Assert.That(wordString, Is.EqualTo(expectedWordString));
        }
        public void MultiplesOfTen_DisplaysInWords(int number, string expectedWordString)
        {
            //Arrange
            var converterService = new NumberConverterService();

            //Act
            var wordString = converterService.ConvertNumberToWord(number);

            //Assert
            Assert.That(wordString, Is.EqualTo(expectedWordString));
        }
Example #15
0
        public IHttpActionResult CurrencyToWords(CurrencyToWordModel body)
        {
            if (string.IsNullOrWhiteSpace(body.name))
            {
                return(Content(HttpStatusCode.BadRequest, "Please input a name"));
            }

            var response = body;

            response.currencyConverted = NumberConverterService.CurrencyToWords(body.currency);
            return(Ok(response));
        }
Example #16
0
        public void ConvertNumberToWords_ReturnsOK()
        {
            double number = 12.23;
            var    numberConverterService = new NumberConverterService();
            var    controller             = new NumberConverterController(numberConverterService);
            // Act
            IHttpActionResult actionResult = controller.GetNumber(number);
            var contentResult = actionResult as OkNegotiatedContentResult <string>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
        }
        public void CurrencyToWords_MoreThen2DecimalPlacesException()
        {
            var testInput = 1.11111M;

            try
            {
                var result = NumberConverterService.CurrencyToWords(testInput);
                Assert.Fail("An exception should have been thrown");
            }
            catch (Exception ex)
            {
                Assert.AreEqual("Input must be a valid currency and can only be 2 decimal places", ex.Message);
            }
        }
        public void CurrencyToWords_GreaterThenInt32Exception()
        {
            var testInput = 123000000000.45M;

            try
            {
                var result = NumberConverterService.CurrencyToWords(testInput);
                Assert.Fail("An exception should have been thrown");
            }
            catch (Exception ex)
            {
                Assert.AreEqual("Input is greater then int32, please input a number less then 2,147,483,647", ex.Message);
            }
        }
        static void Main(string[] args)
        {
            Console.WriteLine("[Application can convert integer (10) and fraction (10,5) numbers]\n");

            try {
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("Current number system [2-36]: ");
                int currentSystem = int.Parse(Console.ReadLine());
                Console.Write("Needed number system [2-36]: ");
                int neededSystem = int.Parse(Console.ReadLine());
                Console.Write("Number: ");
                string number = Console.ReadLine();

                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine($"Answer: {NumberConverterService.Convert(number, currentSystem, neededSystem)}");
            }
            catch (Exception e) {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine($"[Error]: {e.Message}");
            }

            Console.ReadLine();
        }
Example #20
0
 [InlineData("656.z2", 26, 10)]  // number system is lower than used char from alphabet
 public void Convert_TryToConvertInvalidNumber_Should_ThrowArgumentException(string number, int currentSystem, int neededSystem)
 {
     /*Assert*/
     Assert.Throws <ArgumentException>(() => NumberConverterService.Convert(number, currentSystem, neededSystem));
 }
Example #21
0
 [InlineData(10, 42)]    // far from the boundary
 public void Convert_TryToConvertDataWithInvalidNumberSystem_Should_ThrowIndexOutOfRangeException(int currentSystem, int neededSystem)
 {
     /*Assert*/
     Assert.Throws <IndexOutOfRangeException>(() => NumberConverterService.Convert(string.Empty, currentSystem, neededSystem));
 }