コード例 #1
0
        public void GivenNewStateBuilderInstance()
        {
            // setup mocked components
            _config       = BattleshipsConfiguration.Default;
            _config.Ships = new List <int>();
            var console = Substitute.For <IConsole>();
            // use DI setup for rest
            var builder = Bootstrapper.GetContainerBuilder(_config);

            // register mocks
            builder.RegisterInstance(console);
            builder.RegisterInstance <IBattleshipsConfiguration>(_config);

            var container = builder.Build();

            // get tested class instance
            _stateBuilder = container.Resolve <IBattleshipStateBuilder>();
        }
コード例 #2
0
        public void GivenNewBattleshipsGame()
        {
            // setup mocked components
            _configuration = BattleshipsConfiguration.Default;
            _console       = Substitute.For <IConsole>();
            _consoleOut    = "";
            _console
            .When(c => c.WriteLine(Arg.Any <string>()))
            .Do(callinfo =>
            {
                var line    = callinfo.ArgAt <string>(0);
                _consoleOut = $"{_consoleOut}{line}\r\n";
            });
            // use DI setup for rest
            var builder = Bootstrapper.GetContainerBuilder(_configuration);

            // register mocks
            builder.RegisterInstance <IConsole>(_console);
            builder.RegisterInstance <IBattleshipsConfiguration>(_configuration);

            _container = builder.Build();
            // get tested class instance
            _game = (BattleshipGame)_container.Resolve <IBattleshipGame>();
        }
コード例 #3
0
        public IActionResult CreateRoom([FromBody] BattleshipsConfiguration config)
        {
            if (config == null)
            {
                return(BadRequest());
            }

            var Id = System.Guid.NewGuid().ToString();

            config.CreatorId = player.profile.Id;

            config.Rows = 10;
            config.Cols = 10;

            var ships = new List <ShipModel>();

            ships.Add(new ShipModel {
                Id          = 0,
                col         = 1,
                row         = 1,
                orientation = Orientation.Horizontal,
                length      = 5
            });

            ships.Add(new ShipModel {
                Id          = 1,
                col         = 3,
                row         = 7,
                orientation = Orientation.Horizontal,
                length      = 4
            });

            ships.Add(new ShipModel {
                Id          = 2,
                col         = 1,
                row         = 2,
                orientation = Orientation.Vertical,
                length      = 4
            });

            ships.Add(new ShipModel {
                Id          = 3,
                col         = 5,
                row         = 3,
                orientation = Orientation.Vertical,
                length      = 3
            });

            ships.Add(new ShipModel {
                Id          = 4,
                col         = 8,
                row         = 4,
                orientation = Orientation.Horizontal,
                length      = 2
            });

            config.InitialShipLayout = ships;

            var game = new Battleships(config);

            _cache.Set(Id, game);

            return(Ok(Id));
        }