public void CanGetRoomState(AccountType accountType)
        {
            _fakeNowProvider = new FakeNowProvider {
                Now = new DateTime(2000, 12, 12, 12, 12, 0)
            };
            var usersCache = new MockUserStateRepository();
            var calc       = FakeTimeCalculatorFactory.GetTimeWarpStateCalculator();

            _userStateManager = new UserStateManager(calc, usersCache);

            _testRoom = new Room(2, "testRoom2", new DateTime(2001, 12, 12));

            _roomRepository = new MockRoomRepository();

            _roomRepository.Add(_testRoom);

            _roomStateController = new RoomStateController(_userStateManager, _roomRepository, new RoomRemovalPolicy(), _fakeNowProvider);

            var newAccount = new Account(0, TestHelper.NameMock, TestHelper.EmailAddressMock + 1, accountType);

            _testRoom.Add(newAccount);
            usersCache.Add(new TimeWarpUserState(0, newAccount, TimeWarpState.Resting, _fakeNowProvider.Now, TimeSpan.FromSeconds(1), 0, 1));

            var oldAccount = new Account(1, TestHelper.NameMock, TestHelper.EmailAddressMock + 2, accountType);

            _testRoom.Add(oldAccount);
            usersCache.Add(new TimeWarpUserState(1, oldAccount, TimeWarpState.Resting, _fakeNowProvider.Now.Subtract(TimeSpan.FromDays(100)), TimeSpan.FromSeconds(1), 0, 1));

            var state = _roomStateController.Get(2);

            Assert.AreEqual(1, state.Count());
            Assert.AreEqual(0, state.Single().AccountId);
        }
Beispiel #2
0
 private void Start()
 {
     CorrSystem          = GameObject.Find("CorridorSystem").GetComponent <CorridorSystemV2>();
     roomStateController = GameObject.Find("CorridorSystem").GetComponent <RoomStateController>();
 }