Beispiel #1
0
        public void MultiplierProperty_ValidBaseValueAndMultiplier_ReturnsValueFromConstructor()
        {
            // Arrange
            SegmentMultiplier expectedMultiplier = SegmentMultiplier.Triple;

            // Act
            Dart subject = new Dart(5, expectedMultiplier);

            // Assert
            Assert.AreEqual(expectedMultiplier, subject.Multiplier, "Multiplier was not the expected value");
        }
Beispiel #2
0
        public void MultiplierProperty_BaseValue0MultiplierNotMiss_ReturnsMiss()
        {
            // Arrange
            SegmentMultiplier expectedMultiplier = SegmentMultiplier.Miss;

            // Act
            Dart subject = new Dart(0, SegmentMultiplier.Single);

            // Assert
            Assert.AreEqual(expectedMultiplier, subject.Multiplier, "Multiplier was not the expected value");
        }
Beispiel #3
0
        public void MultiplierProperty_BaseValue25MultiplierTriple_ReturnsDouble()
        {
            // Arrange
            SegmentMultiplier expectedMultiplier = SegmentMultiplier.Double;

            // Act
            Dart subject = new Dart(25, SegmentMultiplier.Triple);

            // Assert
            Assert.AreEqual(expectedMultiplier, subject.Multiplier, "Multiplier was not the expected value");
        }
Beispiel #4
0
 /// <summary>
 /// Creates an instance of a Dart.
 /// </summary>
 /// <param name="baseValue">The number of the dart board segment. Can be 0-20 or 25. If multiplier is set to Miss, BaseValue will always be set to 0</param>
 /// <param name="multiplier">The scoring multiplier of the scoring area of the dart board segment. If BaseValue is set to 0, then Multiplier will be set to Miss</param>
 public Dart(int baseValue, SegmentMultiplier multiplier)
 {
     if ((0 <= baseValue && 20 >= baseValue) || 25 == baseValue)
     {
         BaseValue  = SegmentMultiplier.Miss == multiplier ? 0 : baseValue;
         Multiplier = (0 == BaseValue && SegmentMultiplier.Miss != multiplier) ? SegmentMultiplier.Miss :
                      (25 == BaseValue && SegmentMultiplier.Triple == multiplier) ? SegmentMultiplier.Double : multiplier;
     }
     else
     {
         throw new ArgumentOutOfRangeException("baseValue", "baseValue must be 0 - 20 or 25");
     }
 }