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 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_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 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 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_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_Max()
        {
            var testInput = 2147483647M;
            var result    = NumberConverterService.CurrencyToWords(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 DOLLARS", result.ToUpper());
        }
Пример #8
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));
        }
        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);
            }
        }