コード例 #1
0
        public void BuilderRomanNumberTest(string symbol, int value)
        {
            var romanNumberConverter = new RomanNumberConverter();
            var number = romanNumberConverter.Convert(symbol);

            Assert.AreEqual(value, number);
        }
コード例 #2
0
        public void Given_ValidRomanSymbol_Then_ConvertSymbolToDigit(string romanSymbol, int expected)
        {
            // Act
            int numeralDigit = RomanNumberConverter.Convert(romanSymbol);

            // Assert
            numeralDigit.Should().Be(expected);
        }
コード例 #3
0
        public void Given_RomanNumber_Then_ConvertToNumeralNumber(string romanNumber, int expected)
        {
            // Act
            int numeralNumber = RomanNumberConverter.Convert(romanNumber);

            // Asset
            numeralNumber.Should().Be(expected);
        }
コード例 #4
0
        public void OneReturnsI()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(1);

            // Assert
            Assert.AreEqual("I", actual, "1 should be translated to I");
        }
コード例 #5
0
        public void NineReturnsIX()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(9);

            // Assert
            Assert.AreEqual("IX", actual, "9 should be translated to IX");
        }
コード例 #6
0
        public void FourReturnsIV()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(4);

            // Assert
            Assert.AreEqual("IV", actual, "4 should be translated to IV");
        }
コード例 #7
0
        public void FiveReturnsV()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(5);

            // Assert
            Assert.AreEqual("V", actual, "5 should be translated to V");
        }
コード例 #8
0
        public void FourReturnsIV()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(4);

            // Assert
            Assert.AreEqual("IV", actual, "4 should be translated to IV");
        }
コード例 #9
0
        public void OneReturnsI()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(1);

            // Assert
            Assert.AreEqual("I", actual, "1 should be translated to I");
        }
コード例 #10
0
        public void TenReturnsX()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(10);

            // Assert
            Assert.AreEqual("X", actual, "10 should be translated to X");
        }
コード例 #11
0
        public void NineReturnsIX()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(9);

            // Assert
            Assert.AreEqual("IX", actual, "9 should be translated to IX");
        }
コード例 #12
0
        public void SixReturnsVI()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(6);

            // Assert
            Assert.AreEqual("VI", actual, "6 should be translated to VI");
        }
コード例 #13
0
        public void FiveReturnsV()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(5);

            // Assert
            Assert.AreEqual("V", actual, "5 should be translated to V");
        }
コード例 #14
0
        public void SixReturnsVI()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(6);

            // Assert
            Assert.AreEqual("VI", actual, "6 should be translated to VI");
        }
コード例 #15
0
        public void Should_Convert_Roman_To_Number()
        {
            // arrange
            RomanNumberConverter rtn = new RomanNumberConverter();

            // act
            int number1 = rtn.Convert("MMVI");

            // assert
            Assert.AreEqual(4, number1);
        }
コード例 #16
0
        public void Given_InvalidRomanSymbol_Then_ThrowInvalidRomanSymbolException()
        {
            // Arrange
            const string invalidSymbol = "R";

            // Act
            Action action = () => RomanNumberConverter.Convert(invalidSymbol);

            // Asset
            action.Should()
            .Throw <InvalidRomanSymbolException>()
            .WithMessage("R is an invalid roman symbol");
        }
コード例 #17
0
        public void Given_MultipleInvalidRomanSymbols_Then_ThrowInvalidRomanSymbolException()
        {
            // Arrange
            const string invalidSymbols = "RP";

            // Act
            Action action = () => RomanNumberConverter.Convert(invalidSymbols);

            // Asset
            action.Should()
            .Throw <InvalidRomanSymbolException>()
            .WithMessage("R, P are invalid roman symbols");
        }
コード例 #18
0
 private static string ToRoman(int number)
 {
     return(RomanNumberConverter.Convert(number));
 }
コード例 #19
0
        public void TenReturnsX()
        {
            // Arrange
            var romanNumberConverter = new RomanNumberConverter();

            // Act
            var actual = romanNumberConverter.Convert(10);

            // Assert
            Assert.AreEqual("X", actual, "10 should be translated to X");
        }