Ejemplo n.º 1
0
        public void SHOULD_sum_repeated_characters(string romanNumber, int expected)
        {
            var sut    = new RomanNumbersConverter();
            var result = sut.ToInteger(romanNumber);

            Assert.That(result, Is.EqualTo(expected));
        }
Ejemplo n.º 2
0
        public void WHEN_empty_string_passed_THEN_returns_zero()
        {
            var sut    = new RomanNumbersConverter();
            var result = sut.ToInteger(string.Empty);

            Assert.That(result, Is.Zero);
        }
Ejemplo n.º 3
0
        public void ThrowNotImplEx_WhenInputTenThousandAndMore()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var input = "10000";

            Assert.Throws <NotImplementedException>(() => converter.FromArabic(input));
        }
Ejemplo n.º 4
0
        public void ForZero_ShouldBeEmptyString()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var input = "0";

            Assert.Equal(string.Empty, converter.FromArabic(input));
        }
Ejemplo n.º 5
0
        public void ThrowArgumentOutOfRangeEx_WhenNegativeInputNumber()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var input = "-1";

            Assert.Throws <ArgumentOutOfRangeException>(() => converter.FromArabic(input));
        }
Ejemplo n.º 6
0
        public void ThrowInvalidOperationEx_WhenBadInputNumberFormat()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var input = "abc123";

            Assert.Throws <InvalidOperationException>(() => converter.FromArabic(input));
        }
Ejemplo n.º 7
0
        public void SHOULD_allow_reverted_order_for_subtraction()
        {
            var numberWithSubtraction = "LIX";

            var sut = new RomanNumbersConverter();

            Assert.DoesNotThrow(() => sut.ToInteger(numberWithSubtraction));
        }
Ejemplo n.º 8
0
        public void WHEN_valid_characters_passed_THEN_doesnt_throw_exception()
        {
            var validNumber = "CX";

            var sut = new RomanNumbersConverter();

            Assert.DoesNotThrow(() => sut.ToInteger(validNumber));
        }
Ejemplo n.º 9
0
        public void SHOULD_validate_characters_case_insensitive()
        {
            var validNumber = "cX";

            var sut = new RomanNumbersConverter();

            Assert.DoesNotThrow(() => sut.ToInteger(validNumber));
        }
Ejemplo n.º 10
0
        public void ForNinety_ShouldConvertCorrectly()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var inputNumber  = "90";
            var outputNumber = converter.FromArabic(inputNumber);

            Assert.Equal("XC", outputNumber);
        }
Ejemplo n.º 11
0
        public void ForEightHundred_ShouldConvertCorrectly()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var inputNumber  = "800";
            var outputNumber = converter.FromArabic(inputNumber);

            Assert.Equal("DCCC", outputNumber);
        }
Ejemplo n.º 12
0
        public void ForTwentyThree_ShouldConvertCorrectly()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var inputNumber  = "23";
            var outputNumber = converter.FromArabic(inputNumber);

            Assert.Equal("XXIII", outputNumber);
        }
Ejemplo n.º 13
0
        public void ForNineHundredSeventyFive_ShouldConvertCorrectly()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var inputNumber  = "975";
            var outputNumber = converter.FromArabic(inputNumber);

            Assert.Equal("CMLXXV", outputNumber);
        }
Ejemplo n.º 14
0
        public void ForThreeHundredTwelve_ShouldConvertCorrectly()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var inputNumber  = "312";
            var outputNumber = converter.FromArabic(inputNumber);

            Assert.Equal("CCCXII", outputNumber);
        }
        public void ForTwoThousandEight_ShouldConvertCorrectly()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var inputNumber  = "2008";
            var outputNumber = converter.FromArabic(inputNumber);

            Assert.Equal("MMVIII", outputNumber);
        }
        public void ForThirtySevenTwentyOne_ShouldConvertCorrectly()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            var inputNumber  = "3721";
            var outputNumber = converter.FromArabic(inputNumber);

            Assert.Equal("MMMDCCXXI", outputNumber);
        }
Ejemplo n.º 17
0
        public void SHOULD_convert_complex_numbers()
        {
            var complexNumber = "MCMXLVIII";
            var expected      = 1948;

            var sut    = new RomanNumbersConverter();
            var result = sut.ToInteger(complexNumber);

            Assert.That(result, Is.EqualTo(expected));
        }
        public void ReturnRoman_WhenConverting_GivenInputIsGreaterThanThree(int number, string expectedRoman)
        {
            var roman = RomanNumbersConverter.Convert(number);

            roman.Should().Be(expectedRoman);
        }
 public string ReturnRoman_WhenConverting_TestResults(int number)
 {
     return(RomanNumbersConverter.Convert(number));
 }
Ejemplo n.º 20
0
        public void WHEN_invalid_order_THEN_should_throw_exception(string romanNumber)
        {
            var sut = new RomanNumbersConverter();

            Assert.Throws <Exception>(() => sut.ToInteger(romanNumber));
        }
Ejemplo n.º 21
0
        public void ThrowArgumentNullEx_WhenInputNull()
        {
            var converter = new RomanNumbersConverter(new RomanTable(RomanTableOptions.GetDefault));

            Assert.Throws <ArgumentNullException>(() => converter.FromArabic(null));
        }
 public string ReturnRoman_WhenConverting_GivenInputIsGreaterThanNineHundred(int number)
 {
     return(RomanNumbersConverter.Convert(number));
 }
Ejemplo n.º 23
0
        public void WHEN_null_string_passed_THEN_throws_ArgumentNullException()
        {
            var sut = new RomanNumbersConverter();

            Assert.Throws <ArgumentNullException>(() => sut.ToInteger(null));
        }
Ejemplo n.º 24
0
        public void WHEN_invalid_character_passed_THEN_throws_ArgumentException()
        {
            var sut = new RomanNumbersConverter();

            Assert.Throws <ArgumentException>(() => sut.ToInteger("IIzI"));
        }