public void StringBuilderZeroBaseOnly()
        {
            List <string> input = new List <string>()
            {
                "zero"
            };

            DollarOutputBuilder testOutput = new DollarOutputBuilder();

            testOutput.AddBaseString(input);

            string result = testOutput.DollarCurrencyBuilder.ToString();

            Assert.AreEqual(result, "zero dollars");
        }
        public void StringBuilderBaseOnly()
        {
            List <string> input = new List <string>()
            {
                "five", " hundred and ", "five"
            };

            DollarOutputBuilder testOutput = new DollarOutputBuilder();

            testOutput.AddBaseString(input);

            string result = testOutput.DollarCurrencyBuilder.ToString();

            Assert.AreEqual(result, "five hundred and five dollars");
        }
        public void StringBuilderOneBaseWithSubUnit()
        {
            List <string> baseInput = new List <string>()
            {
                "one"
            };
            List <string> subUnitInput = new List <string>()
            {
                "twenty"
            };

            DollarOutputBuilder testOutput = new DollarOutputBuilder();

            testOutput.AddBaseString(baseInput);
            testOutput.AddSubUnitString(subUnitInput);

            string result = testOutput.DollarCurrencyBuilder.ToString();

            Assert.AreEqual(result, "one dollar and twenty cents");
        }
        public void StringBuilderBaseWithOneSubUnit()
        {
            List <string> baseInput = new List <string>()
            {
                "five", " hundred and ", "five"
            };
            List <string> subUnitInput = new List <string>()
            {
                "one"
            };

            DollarOutputBuilder testOutput = new DollarOutputBuilder();

            testOutput.AddBaseString(baseInput);
            testOutput.AddSubUnitString(subUnitInput);

            string result = testOutput.DollarCurrencyBuilder.ToString();

            Assert.AreEqual(result, "five hundred and five dollars and one cent");
        }
        public void StringBuilderBaseWithSubUnitWithHyphen()
        {
            List <string> baseInput = new List <string>()
            {
                "ninety", "-", "five"
            };
            List <string> subUnitInput = new List <string>()
            {
                "twenty", "-", "three"
            };

            DollarOutputBuilder testOutput = new DollarOutputBuilder();

            testOutput.AddBaseString(baseInput);
            testOutput.AddSubUnitString(subUnitInput);

            string result = testOutput.DollarCurrencyBuilder.ToString();

            Assert.AreEqual(result, "ninety-five dollars and twenty-three cents");
        }