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);
        }
Ejemplo n.º 2
0
        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));
        }