public static IFixture Build() { var fixture = new Fixture().Customize(new AutoMoqCustomization()); // Mapping fixture.Register(() => MapperHelper.Build(typeof(AppSettings).Assembly)); // Settings var setting = SettingsHelper.Build(); var appOptionsMonitor = Mock.Of <IOptionsMonitor <AppSettings> >(s => s.CurrentValue == setting); fixture.Register(() => appOptionsMonitor); var testOptionsMonitor = Mock.Of <IOptionsMonitor <TestSettings> >(s => s.CurrentValue == setting); fixture.Register(() => testOptionsMonitor); // Resiliency //var cosmosResiliency = new Mock<ICosmosResiliencyHelper>(); //cosmosResiliency.Setup(x => x.GetRetryPolicy()) // .Returns(Policy.NoOpAsync()); //fixture.Register(() => cosmosResiliency); // Generator fixture.Register(AddressGenerator.Create); fixture.Register(VenueGenerator.Create); return(fixture); }
public static Game NewGame() { InfoHelper.StartANewGame(); // initialize logic of Investigation API // var investigationService = new InvestigationService(gameRequestor); // initialize http requestor var gameRequestor = new GameRequestor(new HttpClient()); // initialize logic of Game API var gameService = new GameService(gameRequestor); // create a container of user information var userInfo = new UserInfo(); // start a new game var result = gameService.StartNewGame().Result; // initialize user information with a object-obejct mapper var mapper = MapperHelper.Build(); userInfo = mapper.Map <GameInfo, UserInfo>(result); userInfo.TurnsInARound = 0; // initialize logic of Shop APIs var shopService = new ShopService(gameRequestor); // initialize strategy of items buying var solution = new NewbieProcurementSolution(); // initialize logic of store var store = new Store(solution, shopService, userInfo); // initialize logic of Message APIs var missionService = new MissionService(gameRequestor); // initialize strategy of task choosing var warrior = new NewbieWarrior(); // initialize logic of mission picking and performing var missionBoard = new MissionBoard(warrior, missionService, userInfo); return(new Game(userInfo, store, missionBoard)); }