public virtual async Task <PeerToPeerSessionState> StartNewGameAsync(PeerToPeerSessionState session) { PeerToPeerGameState game = PeerToPeerGameState.CreateNew(); session.GameId = game.GameId; game = await _storage.AddP2PGameAsync(game); return(await _storage.UpdateP2PSessionAsync(session)); }
public async Task StartNewGameAsync() { PeerToPeerGameService svc = new PeerToPeerGameService(_storage.Object); PeerToPeerGameState game = PeerToPeerGameState.CreateNew(); PeerToPeerSessionState session = new PeerToPeerSessionState(); _storage.Setup(p => p.UpdateP2PSessionAsync(It.IsAny <PeerToPeerSessionState>())).ReturnsAsync(session); PeerToPeerSessionState res = await svc.StartNewGameAsync(session); _storage.Verify(p => p.AddP2PGameAsync(It.IsAny <PeerToPeerGameState>()), Times.Once); _storage.Verify(p => p.UpdateP2PSessionAsync(It.IsAny <PeerToPeerSessionState>()), Times.Once); Assert.IsNotNull(res); }
public async Task CleanupTest() { InMemoryStaticStorage s = new InMemoryStaticStorage { HoursToLive = 0 }; //clean results of older runs await s.Cleanup(); for (int i = 0; i < 1000; i++) { var game = PeerToPeerGameState.CreateNew(); await s.AddP2PGameAsync(game); } for (int i = 0; i < 1000; i++) { var session = new PeerToPeerSessionState() { Code = i.ToString(), }; await s.AddP2PSessionAsync(session); } for (int i = 0; i < 1000; i++) { var game = new GameState { GameId = Guid.NewGuid().ToString() }; await s.AddGameAsync(game); } await s.Cleanup(); Assert.AreEqual(0, s.PeerToPeerGamesCount); Assert.AreEqual(0, s.PeerToPeerSessionsCount); Assert.AreEqual(0, s.GamesCount); }