예제 #1
0
        public void IsIncreasedToSeventyOneWhileTheOtherFeaturesRemainTheSame()
        {
            // Arrange
            var rifle = new Rifle();
            var initialRecoilValue = rifle.Recoil;
            var decorator          = new RecoilPadDecorator(rifle);

            // Act
            var result = decorator.Recoil;

            // Assert
            Assert.That(initialRecoilValue, Is.EqualTo(48));
            Assert.That(result, Is.EqualTo(71));
            Assert.That(decorator.Damage, Is.EqualTo(rifle.Damage));
            Assert.That(decorator.Accuracy, Is.EqualTo(rifle.Accuracy));
        }
예제 #2
0
        public void WithRecoilPadIncreasesRecoilToSeventyOne()
        {
            // Arrange
            var baseRifle = new Rifle();
            var rifle     = new RecoilPadDecorator(baseRifle);

            // Act
            var damage   = rifle.Damage;
            var recoil   = rifle.Recoil;
            var accuracy = rifle.Accuracy;

            // Assert
            Assert.That(damage, Is.EqualTo(70));
            Assert.That(accuracy, Is.EqualTo(65));
            Assert.That(recoil, Is.EqualTo(71));
        }
예제 #3
0
        public void AddedScopeInAccessoriesIncreasingAccuracyToNinty()
        {
            // Arrange
            var baseRifle     = new Rifle();
            var withRecoilPad = new RecoilPadDecorator(baseRifle);
            var rifle         = new ScopeDecorator(withRecoilPad);

            // Act
            var damage   = rifle.Damage;
            var recoil   = rifle.Recoil;
            var accuracy = rifle.Accuracy;

            // Assert
            Assert.That(damage, Is.EqualTo(70));
            Assert.That(accuracy, Is.EqualTo(90));
            Assert.That(recoil, Is.EqualTo(71));
        }