Exemple #1
0
        private decimal CalculateTripCost(TravelBy travelBy, int distance)
        {
            decimal amount = 0;

            switch (travelBy)
            {
            case TravelBy.Air:
                amount = (decimal)(distance * 4.00);
                break;

            case TravelBy.Train:
                amount = (decimal)(distance * 1.50);
                break;

            case TravelBy.Ferry:
                amount = (decimal)(distance * 2.00);
                break;

            case TravelBy.Bus:
                amount = (decimal)(distance * 3.00);
                break;

            case TravelBy.Bike:
                amount = (decimal)(distance * 1.00);
                break;

            case TravelBy.Horseback:
                amount = (decimal)(distance * 5.00);
                break;

            default:
                return(amount);
            }
            return(amount);
        }
        //[TestCase(TravelBy.Bike , typeof(ByBike))]
        public void Test(TravelBy travelBy, Type strategyType)
        {
            var strategy = _toReachOfficeStrategiesResolver.Resolve(s => s.TravelBy == travelBy);

            Assert.That(strategy.GetType(), Is.EqualTo(strategyType));
        }