Example #1
0
        public void Program_RunTest()
        {
            // get input data
            int i = 0;

            string[] inputData = { "3", null, "", " cat " };

            // mock the reader to read them
            var reader = new ConsoleTextReader(() => inputData[i++]);

            // standard encoder
            var encoder = new T9TextEncoder();

            // list to collect output data
            List <string> outputData = new List <string>();

            // mock the writer to collect data
            var nestedWriter = new Mock <ITextWriter>();

            nestedWriter.Setup(x => x.Write(It.IsAny <string>())).Callback((string s) => outputData.Add(s));
            var writer = new CaseNumberDecorator(nestedWriter.Object);

            // create a Program instance
            var p = new Program(reader, encoder, writer);

            // run it
            p.Run();

            // expected results
            List <string> expected = new List <string>
            {
                "Case #1: ",
                "Case #2: ",
                "Case #3: 0222 280"
            };

            // test results
            CollectionAssert.AreEqual(expected, outputData);
        }
Example #2
0
        public void T9TextEncoder_EncodeNullTest()
        {
            var encoder = new T9TextEncoder();

            Assert.AreEqual(null, encoder.Encode(null));
        }
Example #3
0
        public void T9TextEncoder_EncodeHelloWorldTest()
        {
            var encoder = new T9TextEncoder();

            Assert.AreEqual("4433555 555666096667775553", encoder.Encode("hello world"));
        }
Example #4
0
        public void T9TextEncoder_EncodeLastSpaceTest()
        {
            var encoder = new T9TextEncoder();

            Assert.AreEqual("990", encoder.Encode("x "));
        }
Example #5
0
        public void T9TextEncoder_EncodeSpacesTest()
        {
            var encoder = new T9TextEncoder();

            Assert.AreEqual("0 0", encoder.Encode("  "));
        }
Example #6
0
        public void T9TextEncoder_EncodeABCTest()
        {
            var encoder = new T9TextEncoder();

            Assert.AreEqual("2 22 222", encoder.Encode("abc"));
        }
Example #7
0
        public void T9TextEncoder_EncodeEmptyTest()
        {
            var encoder = new T9TextEncoder();

            Assert.AreEqual("", encoder.Encode(""));
        }