Example #1
0
        public void Thousands_ReturnsCorrectly()
        {
            var expected = "eleven thousand DOLLARS";
            var res      = ChequeWriterUtil.GetString(11000.00m);

            Assert.Equal(expected, res);
        }
Example #2
0
        public void Thousands_WithDecimal_ReturnsCorrectly()
        {
            var expected = "one thousand, two hundred and fifty four DOLLARS AND fifty three CENTS";
            var res      = ChequeWriterUtil.GetString(1254.53m);

            Assert.Equal(expected, res);
        }
Example #3
0
        public void Whole_Thousands_WithDecimal_ReturnsCorrectly()
        {
            var expected = "one thousand DOLLARS AND fifty three CENTS";
            var res      = ChequeWriterUtil.GetString(1000.53m);

            Assert.Equal(expected, res);
        }
Example #4
0
        public void MoreThan_2Decimals_Are_Rounded()
        {
            var expected = "one CENT";
            var res      = ChequeWriterUtil.GetString(0.0120m);

            Assert.Equal(expected, res);
        }
Example #5
0
        public void Hundreds_ReturnsCorrectly()
        {
            var expected = "two hundred and fifty four DOLLARS";
            var res      = ChequeWriterUtil.GetString(254.00m);

            Assert.Equal(expected, res);
        }
Example #6
0
        public void Whole_Hundreds_WithDecimal_ReturnsCorrectly()
        {
            var expected = "two hundred DOLLARS AND fifty three CENTS";
            var res      = ChequeWriterUtil.GetString(200.53m);

            Assert.Equal(expected, res);
        }
Example #7
0
        public void Whole_Hundreds_ReturnsCorrectly()
        {
            var expected = "two hundred DOLLARS";
            var res      = ChequeWriterUtil.GetString(200.00m);

            Assert.Equal(expected, res);
        }
Example #8
0
        public void Tens_WithDecimal_ReturnsCorrectly()
        {
            var expected = "fifty four DOLLARS AND fifty three CENTS";
            var res      = ChequeWriterUtil.GetString(54.53m);

            Assert.Equal(expected, res);
        }
Example #9
0
        public void Tens_ReturnsCorrectly()
        {
            var expected = "fifty four DOLLARS";
            var res      = ChequeWriterUtil.GetString(54m);

            Assert.Equal(expected, res);
        }
Example #10
0
        public void Thousands_Return_2_Groups()
        {
            var res = ChequeWriterUtil.GetGroups("43210");

            Assert.Equal(2, res.Count);
            Assert.Equal("210", res[0]);
            Assert.Equal("43", res[1]);
        }
Example #11
0
        public void Millions_Return_3_Groups()
        {
            var res = ChequeWriterUtil.GetGroups("76543210");

            Assert.Equal(3, res.Count);
            Assert.Equal("210", res[0]);
            Assert.Equal("543", res[1]);
            Assert.Equal("76", res[2]);
        }
Example #12
0
        public void Billions_Return_4_Groups()
        {
            var res = ChequeWriterUtil.GetGroups("9876543210");

            Assert.Equal(4, res.Count);
            Assert.Equal("210", res[0]);
            Assert.Equal("543", res[1]);
            Assert.Equal("876", res[2]);
            Assert.Equal("9", res[3]);
        }
Example #13
0
        static void Main(string[] args)
        {
            Console.WriteLine("--- Cheque Writer Utility ---");
            Console.WriteLine("- Enter a number up to 2 billion, with or without decimal parts");
            Console.WriteLine("- Enter 'quit' to exit");

            string input = Console.ReadLine();

            while (string.IsNullOrEmpty(input) || !input.ToLower().Equals("quit"))
            {
                decimal number = 0;
                if (!decimal.TryParse(input, out number))
                {
                    Console.WriteLine("Please enter a valid number");
                }
                else
                {
                    Console.WriteLine(ChequeWriterUtil.GetString(number));
                }

                input = Console.ReadLine();
            }
        }
Example #14
0
        public void Hundreds_Return_1_Group()
        {
            var res = ChequeWriterUtil.GetGroups("123");

            Assert.Single(res);
        }