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)); }