Exemplo n.º 1
0
        public void CanLockConcurentThreadsTest()
        {
            var moks    = new MockRepository();
            var service = moks.DynamicMock <IRecalcGameStateService>();

            Expect.Call(service.GameId).Return(5).Repeat.Any();

            var helper = new ConcurentThreadHelper();

            Expect.Call(() => service.RecalcGameState(DateTime.Now))
            .Do(helper.Action())
            .IgnoreArguments();

            moks.ReplayAll();

            GameDemon demon = GameDemon.GetInstance(service);

            demon.MinimalRecalcPeriod = 0;

            helper.Demon = demon;

            demon.RecalcGameState(null);

            moks.VerifyAll();
        }
Exemplo n.º 2
0
        /// <summary>
        /// If you need to communicate to multiple databases, you'd add a line to this method to
        /// initialize the other database as well.
        /// </summary>
        private void InitializeNHibernateSession()
        {
            NHibernateSession.ConfigurationCache = new NHibernateConfigurationFileCache(
                new string[] { "Beavers.Encounter.Core" });
            NHibernateSession.Init(
                webSessionStorage,
                new string[] { Server.MapPath("~/bin/Beavers.Encounter.Data.dll") },
                new AutoPersistenceModelGenerator().Generate(),
                Server.MapPath("~/NHibernate.config"));

            Repository <Game> gameRepository = new Repository <Game>();

            foreach (var game in gameRepository.GetAll().Where(x => x.GameState == GameStates.Started))
            {
                var sl                      = ServiceLocator.Current.GetInstance <IServiceLocator>();
                var taskService             = sl.GetInstance <ITaskService>();
                var teamGameStateRepository = sl.GetInstance <IRepository <TeamGameState> >();

                var gameService = new GameService(gameRepository, teamGameStateRepository, taskService);

                var demon = GameDemon.GetInstance(new RecalcGameStateService(
                                                      game.Id, gameRepository, gameService));
                demon.Start();
            }
        }
Exemplo n.º 3
0
        public void RecalcTest()
        {
            var moks    = new MockRepository();
            var service = moks.DynamicMock <IRecalcGameStateService>();

            Expect.Call(service.GameId).Return(1).Repeat.Any();
            Expect.Call(() => service.RecalcGameState(DateTime.Now))
            .IgnoreArguments();

            moks.ReplayAll();

            GameDemon demon = GameDemon.GetInstance(service);

            demon.MinimalRecalcPeriod = 0;
            demon.RecalcGameState(null);

            moks.VerifyAll();
        }