Beispiel #1
0
        public void グレードがいいやつはボーナスがつく()
        {
            var order = new Order
                        (
                name: OrderName.Car,
                100,
                new[]
            {
                new OrderElement(Type.Wheel, 4),
                new OrderElement(Type.CarBody, 1),
            }
                        );
            var checker = new OrderCalculator(new[] { order });

            var parts = new[]
            {
                new Part(Type.Wheel, Quality.Normal, 0),
                new Part(Type.Wheel, Quality.High, 0),
                new Part(Type.Wheel, Quality.High, 0),
                new Part(Type.Wheel, Quality.Normal, 0),
                new Part(Type.CarBody, Quality.Normal, 0),
            };

            // Car指定
            var shipment1 = new ShippingParts(parts, OrderName.Car);
            var result    = checker.Calculate(shipment1);

            // 倍率で点数が上がるはず
            Assert.AreEqual((int)(100 * 1.2f * 1.2f), (int)result);
        }
Beispiel #2
0
        public void OrderNameを指定してコンボボーナスが得られる()
        {
            var order = new Order
                        (
                name: OrderName.Car,
                100,
                new[]
            {
                new OrderElement(Type.Wheel, 4),
                new OrderElement(Type.CarBody, 1),
            }
                        );
            var checker = new OrderCalculator(new[] { order });

            var parts = new[]
            {
                new Part(Type.Wheel, Quality.Normal, 0),
                new Part(Type.Wheel, Quality.Normal, 0),
                new Part(Type.Wheel, Quality.Normal, 0),
                new Part(Type.Wheel, Quality.Normal, 0),
                new Part(Type.CarBody, Quality.Normal, 0),
            };

            // Car指定
            var shipment1 = new ShippingParts(parts, OrderName.Car);
            var result    = checker.Calculate(shipment1);

            // Car指定なのでCarのコンボボーナスが得られる
            Assert.AreEqual(100, result);

            // Car指定ではない
            var shipment2 = new ShippingParts(parts, OrderName.Doll);
            var result2   = checker.Calculate(shipment2);

            // Car指定ではないのコンボボーナスは得られない
            Assert.AreEqual(0, result2);
        }
 private void CalculateScore(ShippingParts shippingParts)
 {
     _totalScore.Value += _orderCalculator.Calculate(shippingParts);
 }