public void Cancel() { var p = new Player(); var mm = MatchMaker.Create(); var decl = new MatchDecl(array_up(p), new List <Player>()); Assert.AreEqual(MatchMaker.State.NotQueued, mm.Cancel().new_state); mm.Queue(ArenaServices.MatchMode.Skirmish, ArenaServices.Arena.Agar, ArenaServices.TeamSize.One); Assert.AreEqual(MatchMaker.State.NotQueued, mm.Cancel().new_state); mm.Queue(ArenaServices.MatchMode.Skirmish, ArenaServices.Arena.Agar, ArenaServices.TeamSize.One); mm.AwaitingAccept(decl); Assert.AreEqual(MatchMaker.State.NotQueued, mm.Cancel().new_state); mm.Queue(ArenaServices.MatchMode.Skirmish, ArenaServices.Arena.Agar, ArenaServices.TeamSize.One); mm.AwaitingAccept(decl); mm.AnswerPending(p, true); Assert.AreEqual(MatchMaker.State.NotQueued, mm.Cancel().new_state); mm.Queue(ArenaServices.MatchMode.Skirmish, ArenaServices.Arena.Agar, ArenaServices.TeamSize.One); mm.AwaitingAccept(decl); mm.AnswerPending(p, true); mm.InArena(new DummyArena()); Assert.AreEqual(MatchMaker.State.InArena, mm.Cancel().new_state); }
public void FullLineFirstRefused() { var p1 = new Player(); var p2 = new Player(); var mm = MatchMaker.Create(); Assert.AreEqual(MatchMaker.State.Queued, mm.Queue(ArenaServices.MatchMode.Skirmish, ArenaServices.Arena.Agar, ArenaServices.TeamSize.One)); var match_decl = new MatchDecl(array_up(p1), array_up(p2)); Assert.AreEqual(MatchMaker.State.AwaitingAccept, mm.AwaitingAccept(match_decl)); Assert.AreEqual(new MatchMaker.AnswerPendingResult { all_is_ready = false, match_decl = match_decl, player_state = MatchMaker.State.NotQueued }, mm.AnswerPending(p1, false)); var mm2 = MatchMaker.Create(); Assert.AreEqual(MatchMaker.State.Queued, mm2.Queue(ArenaServices.MatchMode.Skirmish, ArenaServices.Arena.Agar, ArenaServices.TeamSize.One)); Assert.AreEqual(MatchMaker.State.AwaitingAccept, mm2.AwaitingAccept(match_decl)); Assert.AreEqual(new MatchMaker.AnswerPendingResult { all_is_ready = false, match_decl = match_decl, player_state = MatchMaker.State.AwaitingOtherPlayers }, mm2.AnswerPending(p2, true)); }
internal void AddMatchDecl(MatchDecl decl) { match_decls_in_flux.Enqueue(new MatchDeclWork { match_decl = decl, added = DateTime.Now }); }