Beispiel #1
0
        public void Convert_10_to_X()
        {
            var romanNumeralsConverter = new NumeralsConverter();

            string romanNumeral = romanNumeralsConverter.ConvertToRoman(10);

            romanNumeral.ShouldEqual("X");
        }
Beispiel #2
0
        public void Convert_50_to_L()
        {
            var romanNumeralsConverter = new NumeralsConverter();

            string romanNumeral = romanNumeralsConverter.ConvertToRoman(50);

            romanNumeral.ShouldEqual("L");
        }
Beispiel #3
0
        public void Convert_6_to_VI()
        {
            var romanNumeralsConverter = new NumeralsConverter();

            string romanNumeral = romanNumeralsConverter.ConvertToRoman(6);

            romanNumeral.ShouldEqual("VI");
        }
Beispiel #4
0
        public void Convert_9_to_IX()
        {
            var romanNumeralsConverter = new NumeralsConverter();

            string romanNumeral = romanNumeralsConverter.ConvertToRoman(9);

            romanNumeral.ShouldEqual("IX");
        }
Beispiel #5
0
        public void Convert_3_to_III()
        {
            var romanNumeralsConverter = new NumeralsConverter();

            string romanNumeral = romanNumeralsConverter.ConvertToRoman(3);

            romanNumeral.ShouldEqual("III");
        }
Beispiel #6
0
        public void Convert_4_to_IV()
        {
            var romanNumeralsConverter = new NumeralsConverter();

            string romanNumeral = romanNumeralsConverter.ConvertToRoman(4);

            romanNumeral.ShouldEqual("IV");
        }
Beispiel #7
0
 private void ConvertParams()
 {
     if (!areParametersConverted)
     {
         this.Iterations        = NumeralsConverter.NumeralToNumber(this.stringIterations);
         this.Delay             = NumeralsConverter.NumeralToNumber(this.stringDelay) * 1000;
         areParametersConverted = true;
     }
 }
Beispiel #8
0
        private ICounter CreateTextCounter(string iterations, string delay)
        {
            if (!NumeralsConverter.IsValidNumber(iterations, 1))
            {
                throw new Exception("Iterations must be numeral of integer greater or equal to 1");
            }

            if (!NumeralsConverter.IsValidNumber(delay, 1))
            {
                throw new Exception("Delay must be numeral of integer greater or equal to 0");
            }

            return(new TextCounter(iterations, delay, GetNewName(CounterType.TextCounter)));
        }
Beispiel #9
0
        private string GetUserInput(string message, object possibleAnswers)
        {
            bool   answerOk = false;
            string input;

            do
            {
                Console.WriteLine(message);
                input = Console.ReadLine().ToLower();

                if (possibleAnswers is Array)
                {
                    foreach (string a in possibleAnswers as Array)
                    {
                        if (a == input)
                        {
                            answerOk = true;
                            break;
                        }
                    }
                }
                else if (possibleAnswers is int)
                {
                    answerOk = int.TryParse(input, out int t) && (t >= (int)possibleAnswers);
                }
                else if (possibleAnswers is string)
                {
                    answerOk = NumeralsConverter.IsValidNumber(input, int.Parse((string)possibleAnswers));
                }

                if (input == "c")
                {
                    throw new Exception("Canceled");
                }

                if (!answerOk)
                {
                    WrongAnswer();
                }
            } while (!answerOk);

            return(input);
        }
Beispiel #10
0
        public void Return_III_Given_Value_Of_3()
        {
            var result = NumeralsConverter.ToRoman(3);

            Assert.Equal("III", result);
        }
Beispiel #11
0
        public void Return_IV_Given_Value_Of_4()
        {
            var result = NumeralsConverter.ToRoman(4);

            Assert.Equal("IV", result);
        }
Beispiel #12
0
        public void Throw_Exception_Given_Value_Of_Out_Of_Range(int value)
        {
            Exception ex = Assert.Throws <ArgumentOutOfRangeException>(() => NumeralsConverter.ToRoman(value));

            Assert.Equal($"The value '{value}' must be between 1 and 1000.{Environment.NewLine}Parameter name: number", ex.Message);
        }
Beispiel #13
0
        public void Return_L_Given_Value_Of_1000()
        {
            var result = NumeralsConverter.ToRoman(1000);

            Assert.Equal("M", result);
        }
Beispiel #14
0
        public void Return_IC_Given_Value_Of_99()
        {
            var result = NumeralsConverter.ToRoman(99);

            Assert.Equal("IC", result);
        }
Beispiel #15
0
        public void Return_IXX_Given_Value_Of_19()
        {
            var result = NumeralsConverter.ToRoman(19);

            Assert.Equal("IXX", result);
        }
Beispiel #16
0
        public void Return_VI_Given_Value_Of_6()
        {
            var result = NumeralsConverter.ToRoman(6);

            Assert.Equal("VI", result);
        }