Beispiel #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            /*
             * LCDNumber lcdNumber = LCDNumberFactory.Create("0123456789");
             * LCDNumberPrinter printer = new LCDNumberPrinter(lcdNumber);
             * printer.Print();
             *
             * Console.WriteLine();
             * Console.WriteLine();
             *
             * LCDNumberPrinter specialPrinter = new LCDNumberPrinter(lcdNumber,
             *  new Dictionary<DigitRepresentation, ConsoleColor> {
             *      { DigitRepresentation.Eight, ConsoleColor.Yellow },
             *      { DigitRepresentation.Three, ConsoleColor.Red },
             *      { DigitRepresentation.Seven, ConsoleColor.Cyan }
             *  });
             * specialPrinter.Print();*/

            LCDDigit        lcdDigit     = LCDDigitFactory.Create(8);
            LCDDigitPrinter digitPrinter = new LCDDigitPrinter(lcdDigit);

            digitPrinter.Print();

            LCDNumber        lcdNumber     = LCDNumberFactory.Create("0123456789");
            LCDNumberPrinter numberPrinter = new LCDNumberPrinter(lcdNumber, 4, 3);

            numberPrinter.Print();

            Console.WriteLine(LCDTextFactory.Create(lcdDigit, 3, 2));
            Console.WriteLine(LCDTextFactory.Create(lcdNumber, 3, 2));
        }
        public LCDNumberTextCreator(LCDNumber lcdNumber, int width, int height)
        {
            this.textList  = new List <string>();
            this.lcdNumber = lcdNumber;
            this.width     = width;
            this.height    = height;

            this.CreateDigitsDictionary();
            this.CreateTextList();
        }
Beispiel #3
0
        public static LCDNumber Create(string textNumber)
        {
            LCDNumber lcdNumber = new LCDNumber();

            foreach (char c in textNumber)
            {
                lcdNumber.AddLCDDigit(LCDDigitFactory.Create((int)c - 48));
            }

            return(lcdNumber);
        }
Beispiel #4
0
        public LCDNumberPrinter(LCDNumber lcdNumber, int width, int height) : base()
        {
            Dictionary <DigitRepresentation, List <string> > digitsDictionary = this.CreateDigitsDictionary(lcdNumber, width, height);
            int total = 3 + 2 * (height - 1);

            for (int i = 0; i < total; i++)
            {
                StringBuilder sb = new StringBuilder();
                foreach (LCDDigit lcdDigit in lcdNumber.GetLCDDigits())
                {
                    sb.Append(digitsDictionary[lcdDigit.DigitRepresentation][i]);
                }
                this.IncludeLine(sb.ToString());
            }
        }
        public void ThenIShouldGetTheFollowingCustomRepresentation(string multilineText)
        {
            Console.WriteLine("Testing {0}", this.number);

            string expected;

            if (this.number >= 0 && this.number <= 9)
            {
                LCDDigit lcdDigit = LCDDigitFactory.Create(this.number);

                expected = LCDTextFactory.Create(lcdDigit, 3, 2);
            }
            else
            {
                LCDNumber lcdNumber = LCDNumberFactory.Create(this.number);

                expected = LCDTextFactory.Create(lcdNumber, 3, 2);
            }


            Assert.AreEqual(expected, multilineText);
        }
        private string GenerateOutput()
        {
            LCDNumber lcdNumber = LCDNumberFactory.Create(this.LCDNumberForm.Number);

            return(LCDTextFactory.Create(lcdNumber, this.LCDNumberForm.Width, this.LCDNumberForm.Height));
        }
Beispiel #7
0
        private Dictionary <DigitRepresentation, List <string> > CreateDigitsDictionary(LCDNumber lcdNumber, int width, int height)
        {
            Dictionary <DigitRepresentation, List <string> > digitsDictionary = new Dictionary <DigitRepresentation, List <string> >();

            foreach (LCDDigit lcdDigit in lcdNumber.GetLCDDigits())
            {
                if (!digitsDictionary.ContainsKey(lcdDigit.DigitRepresentation))
                {
                    digitsDictionary.Add(lcdDigit.DigitRepresentation, LCDTextListFactory.Create(lcdDigit, width, height));
                }
            }

            return(digitsDictionary);
        }
        public static List <string> Create(LCDNumber lcdNumber, int width, int height)
        {
            LCDNumberTextCreator creator = new LCDNumberTextCreator(lcdNumber, width, height);

            return(creator.Create());
        }
Beispiel #9
0
 public static string Create(LCDNumber lcdNumber, int width, int height)
 {
     return(Create(LCDTextListFactory.Create(lcdNumber, width, height)));
 }