コード例 #1
0
        public static IAmRally GetRallyThatHasVehicle(string vehicleId, FakeVehicle vehicle)
        {
            var vehicles = ImmutableDictionary <string, IAmVehicle> .Empty;

            vehicles = vehicles.Add(vehicle.Id, vehicle);
            var rallyMock = new Mock <IAmRally>();

            rallyMock.Setup(rally => rally.Vehicles)
            .Returns(vehicles);
            return(rallyMock.Object);
        }
        public void GetStatisticsWhenVehicleExists()
        {
            var rallyId       = "2019";
            var vehicleId     = "vehicle1";
            var fakeVehicle   = new FakeVehicle(vehicleId);
            var expectedStats = GetExpectedStats();
            var rallyRepo     = CommonBuilders.SetUpRepoWithRally(
                rallyId,
                CommonBuilders.GetRallyThatHasVehicle(vehicleId, fakeVehicle));
            var service = new VehicleStatisticsService(rallyRepo, new FakeVehicleStatisticsFactory(expectedStats));

            var result = service.GetVehicleStatistics(rallyId, vehicleId);

            Assert.True(result.IsSuccess);
            Assert.Equal(expectedStats, result.Value);
        }
        private Mock <ICreateVehicle> GetVehicleFactoryWhichReturns(string vehicleId)
        {
            var vehicle = new FakeVehicle(vehicleId);

            var mock = new Mock <ICreateVehicle>();

            mock.Setup(factory => factory.CreateSportCar(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()))
            .Returns(vehicle);
            mock.Setup(factory => factory.CreateTerrainCar(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()))
            .Returns(vehicle);
            mock.Setup(factory => factory.CreateTruck(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()))
            .Returns(vehicle);
            mock.Setup(factory => factory.CreateSportMotorcycle(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()))
            .Returns(vehicle);
            mock.Setup(factory => factory.CreateCrossMotorcycle(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()))
            .Returns(vehicle);

            return(mock);
        }