예제 #1
0
        public void TestValidColor()
        {
            //Arrage
            var m             = new Mock <IBandColors>();
            var stubColorList = new StubBandList();

            m.Setup(x => x.GetAllBandColors()).Returns(stubColorList.GetAllBandColors());
            var fourBandResistor = new OhmValueCalculator(m.Object);

            //Act
            fourBandResistor.CalculateOhmValue("brown", "red", "red", "yellow");
            //Assert
            m.Verify(x => x.GetAllBandColors(), Times.AtLeastOnce);
        }
예제 #2
0
        public void TestInvalidColor()
        {
            //Arrage
            var m             = new Mock <IBandColors>();
            var stubColorList = new StubBandList();

            m.Setup(x => x.GetAllBandColors()).Returns(stubColorList.GetAllBandColors());
            var fourBandResistor = new OhmValueCalculator(m.Object);
            var expected         = $"Invalid color for band";

            //Act
            Exception ex = Assert.Throws <ColorNotFoundException>(() => fourBandResistor.CalculateOhmValue("darkbrown", "red", "red", "yellow"));

            //Assert
            Assert.Contains(expected, ex.Message);
        }
예제 #3
0
        public void TestCalculateResistance()
        {
            //Arrage
            var m             = new Mock <IBandColors>();
            var stubColorList = new StubBandList();

            m.Setup(x => x.GetAllBandColors()).Returns(stubColorList.GetAllBandColors());
            var fourBandResistor = new OhmValueCalculator(m.Object);
            var expected         = 1200;

            //Act

            var result = fourBandResistor.CalculateOhmValue("brown", "red", "red", "yellow");

            //Assert
            Assert.Equal(expected, result);
        }