Exemplo n.º 1
0
        /// <summary>
        /// Initializes the grid.
        /// </summary>
        private void InitializeGrid()
        {
            IGrid <ICell> grid = Container.Resolve <IGrid <ICell> >(
                new ParameterOverride("totalRows", totalRows),
                new ParameterOverride("totalColumns", totalColumns),
                new ParameterOverride("initialActiveCells", initialActiveCells));


            IStateGenerator stateGenerator = Container.Resolve <IStateGenerator>(new ParameterOverride("currentState", grid));

            IGridView gridView = Container.Resolve <IGridView>(new ParameterOverride("stateGenerator", stateGenerator));

            gridView.Render();

            Console.Write("Press <enter> to see next state or 'exit' to quit : ");
            string result = Console.ReadLine();

            while (string.Compare(result, "exit", StringComparison.OrdinalIgnoreCase) != 0)
            {
                gridView.RenderNextState();

                Console.Write("Press <enter> to see next state or 'exit' to quit : ");
                result = Console.ReadLine();
            }
        }
Exemplo n.º 2
0
 public BackgroundWorker(
     ITimetableProvider timetableProvider,
     IStateGenerator stateGenerator,
     IOptions <AppSettings> appSettings)
 {
     _timetableProvider = timetableProvider;
     _stateGenerator    = stateGenerator;
     _appSettings       = appSettings;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GridView" /> class.
 /// </summary>
 /// <param name="stateGenerator">The state generator.</param>
 /// <exception cref="System.ArgumentNullException"></exception>
 public GridView(IStateGenerator stateGenerator)
 {
     if (stateGenerator == null)
     {
         throw new ArgumentNullException("stateGenerator");
     }
     StateGenerator = stateGenerator;
     builder        = new StringBuilder();
 }
Exemplo n.º 4
0
        public void TestGoToNextState()
        {
            ICell cell1 = container.Resolve <ICell>(new ParameterOverride("rowIndex", 0), new ParameterOverride("colIndex", 1));
            ICell cell2 = container.Resolve <ICell>(new ParameterOverride("rowIndex", 1), new ParameterOverride("colIndex", 1));
            ICell cell3 = container.Resolve <ICell>(new ParameterOverride("rowIndex", 2), new ParameterOverride("colIndex", 1));

            cell1.IsAlive = cell2.IsAlive = cell3.IsAlive = true;
            IGrid <ICell> grid = container.Resolve <IGrid <ICell> >(
                new ParameterOverride("totalRows", 3),
                new ParameterOverride("totalColumns", 3),
                new ParameterOverride("initialActiveCells", new ICell[] { cell1, cell2, cell3 }));

            IStateGenerator stateGenerator = container.Resolve <IStateGenerator>(new ParameterOverride("currentState", grid));

            stateGenerator.GoToNextState();

            Assert.AreEqual(stateGenerator.CurrentState[1, 0].IsAlive, true);
            Assert.AreEqual(stateGenerator.CurrentState[1, 1].IsAlive, true);
            Assert.AreEqual(stateGenerator.CurrentState[1, 2].IsAlive, true);

            Assert.AreEqual(stateGenerator.CurrentState[0, 0].IsAlive, false);
            Assert.AreEqual(stateGenerator.CurrentState[0, 1].IsAlive, false);
            Assert.AreEqual(stateGenerator.CurrentState[0, 2].IsAlive, false);

            Assert.AreEqual(stateGenerator.CurrentState[2, 0].IsAlive, false);
            Assert.AreEqual(stateGenerator.CurrentState[2, 1].IsAlive, false);
            Assert.AreEqual(stateGenerator.CurrentState[2, 2].IsAlive, false);

            stateGenerator.GoToNextState();

            Assert.AreEqual(stateGenerator.CurrentState[0, 1].IsAlive, true);
            Assert.AreEqual(stateGenerator.CurrentState[1, 1].IsAlive, true);
            Assert.AreEqual(stateGenerator.CurrentState[2, 1].IsAlive, true);

            Assert.AreEqual(stateGenerator.CurrentState[0, 0].IsAlive, false);
            Assert.AreEqual(stateGenerator.CurrentState[0, 2].IsAlive, false);

            Assert.AreEqual(stateGenerator.CurrentState[1, 0].IsAlive, false);
            Assert.AreEqual(stateGenerator.CurrentState[1, 2].IsAlive, false);

            Assert.AreEqual(stateGenerator.CurrentState[2, 0].IsAlive, false);
            Assert.AreEqual(stateGenerator.CurrentState[2, 2].IsAlive, false);
        }
Exemplo n.º 5
0
        public DefaultClientServer(
            IStateStore stateStore
            , ITokenDTOStore tokenDTOStore
            , IStateGenerator stateGenerator
            , IHttpClientFactory httpClientFactory
            , ILogger <DefaultClientServer> logger
            , ClientOptions options
            )
        {
            _stateStore        = stateStore;
            _stateGenerator    = stateGenerator;
            _tokenDTOStore     = tokenDTOStore;
            _httpClientFactory = httpClientFactory;
            _logger            = logger;
            _options           = options;

            SignOutRequestHandler         = HandleSignOutRequestAsync;
            SignOutCallbackRequestHandler = HandleSignOutCallbackRequestAsync;
        }
 public BackgroundProvider(ITimetableProvider timetableProvider, IStateGenerator stateGenerator)
 {
     _timetableProvider = timetableProvider;
     _stateGenerator    = stateGenerator;
 }
 public AStarSolverWithWaiting(IStateGenerator generator, IEvaluator evaluator)
 {
     this.generator = generator;
     this.evaluator = evaluator;
 }