public Simulation <MaternityBenefitSimulationCase> Build(SimulationRequest <MaternityBenefitSimulationCaseRequest> simulationRequest) { var regionDict = _helperStore.GetBestWeeksDict(); var baseCase = new MaternityBenefitSimulationCase() { Id = Guid.NewGuid(), MaxWeeklyAmount = simulationRequest.BaseCaseRequest.MaxWeeklyAmount, Percentage = simulationRequest.BaseCaseRequest.Percentage, NumWeeks = simulationRequest.BaseCaseRequest.NumWeeks, RegionDict = regionDict }; var variantCase = new MaternityBenefitSimulationCase() { Id = Guid.NewGuid(), MaxWeeklyAmount = simulationRequest.VariantCaseRequest.MaxWeeklyAmount, Percentage = simulationRequest.VariantCaseRequest.Percentage, NumWeeks = simulationRequest.VariantCaseRequest.NumWeeks, RegionDict = regionDict }; return(new Simulation <MaternityBenefitSimulationCase>() { Id = Guid.NewGuid(), Name = simulationRequest.SimulationName, DateCreated = DateTime.Now, BaseCase = baseCase, VariantCase = variantCase, }); }
public void ShouldWorkNormally() { // Arrange string fakeName = "Sim Name"; double fakeOtherWeekly = 5; double fakeOtherDaily = 6; double fakeCmvoWeekly = 8; double fakeCmvoDaily = 9; // Act var sut = new MotorVehicleSimulationBuilder(); var simulationRequest = new SimulationRequest <MotorVehicleSimulationCaseRequest>() { BaseCaseRequest = new MotorVehicleSimulationCaseRequest() { StandardCmvoWeekly = fakeCmvoWeekly, StandardCmvoDaily = fakeCmvoDaily }, VariantCaseRequest = new MotorVehicleSimulationCaseRequest() { StandardOtherDaily = fakeOtherDaily, StandardOtherWeekly = fakeOtherWeekly }, SimulationName = fakeName }; var result = sut.Build(simulationRequest); // Assert Assert.Equal(fakeName, result.Name); Assert.Equal(fakeCmvoDaily, result.BaseCase.StandardCmvoDaily); Assert.Equal(fakeCmvoWeekly, result.BaseCase.StandardCmvoWeekly); Assert.Equal(fakeOtherDaily, result.VariantCase.StandardOtherDaily); Assert.Equal(fakeOtherWeekly, result.VariantCase.StandardOtherWeekly); }
private static SimulationResponse CreateGameSimulation(string unityProjectId, string accessToken, BuildResponse buildResponse) { var simulationsUrl = string.Format("{0}/v1/jobs?projectId={1}", GAME_SIMULATION_API_HOST, unityProjectId); // TODO - load request from json asset var simulationRequest = new SimulationRequest(); simulationRequest.jobName = "Sample Test Project Simulation"; simulationRequest.buildId = buildResponse.id; simulationRequest.decisionEngineMetadata = new DecisionEngineMetadata(); simulationRequest.decisionEngineMetadata.engineType = "gridsearch"; var setting = new Setting(); setting.key = "Increment Counter By"; setting.type = "int"; setting.values = new string[] { "1", "2", "3", "4" }; simulationRequest.decisionEngineMetadata.settings = new Setting[] { setting }; simulationRequest.maxRuntimeSeconds = "300"; simulationRequest.runsPerParamCombo = 10; using (var request = CreatePostJsonRequest(simulationsUrl, simulationRequest)) { SetAuthorizationHeader(request, accessToken); return(Execute <SimulationResponse>(request)); } }
/// <summary> /// the simulator sending simulation request of arrival/departure plane: /// </summary> /// <param name="simulationRequest"></param> public void SendSimulation(SimulationRequest simulationRequest) { //adding callback of simulator: if (simulatorCallback == null) { simulatorCallback = OperationContext.Current.GetCallbackChannel <ISimulatorCallback>(); } //telling the airport about the simulation: serviceLogic.GetSimulation(simulationRequest.SimulatedPlane); }
public Simulation <MotorVehicleSimulationCase> Build(SimulationRequest <MotorVehicleSimulationCaseRequest> simulationRequest) { return(new Simulation <MotorVehicleSimulationCase>() { Id = Guid.NewGuid(), Name = simulationRequest.SimulationName, DateCreated = DateTime.Now, BaseCase = new MotorVehicleSimulationCase(simulationRequest.BaseCaseRequest), VariantCase = new MotorVehicleSimulationCase(simulationRequest.VariantCaseRequest), }); }
public void SendSimulation(SimulationRequest simulationRequest) { try { proxy.SendSimulation(simulationRequest); } catch (Exception e) { throw new Exception(e.Message); } }
public Guid Handle(SimulationRequest <U> request) { var simulation = _simulationBuilder.Build(request); _simulationStore.SaveSimulation(simulation); var persons = _personStore.GetAllPersons(); var result = _runner.Run(simulation, persons); _simulationStore.StoreResults(simulation.Id, result); return(simulation.Id); }
public void RequestSerializesCorrectly() { var request = new SimulationRequest { Device = new SimulationRequestDevice { Locale = "en-GB" }, Input = new SimulationRequestInput { Content = "test content" }, Session = new SimulationSession(SimulationSessionMode.FORCE_NEW_SESSION) }; Assert.True(Utility.CompareJson(request, "SimulationRequest.json")); }
public void ShouldWorkNormally() { // Arrange var simulationStore = A.Fake <IStoreSimulations <ISimulationCase> >(); var personStore = A.Fake <IStorePersons <IPerson> >(); var runner = A.Fake <IRunSimulations <ISimulationCase, IPerson> >(); var simulationBuilder = A.Fake <IBuildSimulations <ISimulationCase, ISimulationCaseRequest> >(); var testId = Guid.NewGuid(); var simulation = new Simulation <ISimulationCase>() { Id = testId }; A.CallTo(() => simulationBuilder.Build(A <SimulationRequest <ISimulationCaseRequest> > ._)).Returns(simulation); // Act var sut = new SimulationRequestHandler < ISimulationCase, ISimulationCaseRequest, IPerson> (simulationBuilder, simulationStore, personStore, runner); var request = new SimulationRequest <ISimulationCaseRequest>(); var result = sut.Handle(request); // Assert A.CallTo(() => simulationBuilder.Build(A <SimulationRequest <ISimulationCaseRequest> > ._)).MustHaveHappenedOnceExactly(); A.CallTo(() => simulationStore.SaveSimulation(A <Simulation <ISimulationCase> > ._)).MustHaveHappenedOnceExactly(); A.CallTo(() => personStore.GetAllPersons()).MustHaveHappenedOnceExactly(); A.CallTo(() => runner.Run(A <Simulation <ISimulationCase> > ._, A <IEnumerable <IPerson> > ._)).MustHaveHappenedOnceExactly(); A.CallTo(() => simulationStore.StoreResults(testId, A <SimulationResult> ._)).MustHaveHappenedOnceExactly(); Assert.Equal(result, testId); }
public async Task <ActionResult <SimulationResponse> > Post([FromBody] SimulationRequest simReq) { // TODO: Setup logging to file as well (in startup) _logger.LogDebug("simulations: " + simReq.NumOfSimulations); Simulation sim = new Simulation(); try { // run in background just in case it takes time await Task.Run(() => sim.Run(simReq.NumOfSimulations, simReq.ChosenDoor, simReq.ChangeDoor)); _logger.LogDebug($"Simulation done, cars {sim.WonCars}, goats {sim.WonGoats}"); return(new SimulationResponse() { Cars = sim.WonCars, Goats = sim.WonGoats }); } catch (Exception ex) { _logger.LogError(ex, "Error when running simulation"); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public CustomParam(SimulationRequest request) { this.request = request; }
public Task <SimulationResponse> Simulate(string skillId, SimulationRequest request) { return(Inner.Simulate(skillId, request)); }