public void MidNight1Test7() { for (int i = 0; i < 100; i++) { Game gm = GameTest.createGame(); { var o = new MidNight(); o.init(); } GameTest.setItem(gm, "p1", ITEM.MURDERE_KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE); GameTest.setItem(gm, "p2", ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE); sendCmd(1, 0, -1); sendCmd(2, 1, 1); sendCmd(3, 0, -1); sendCmd(4, 0, -1); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(1).state, PLAYER_STATE.MIDNIGHT_KILL_ITEM_SELECT_WAIT); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(2).state, PLAYER_STATE.MIDNIGHT_KILL_ITEM_SELECT); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(3).state, PLAYER_STATE.MIDNIGHT_SELECT_OK); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(4).state, PLAYER_STATE.MIDNIGHT_SELECT_OK); Assert.AreNotEqual(GameFactory.getGame().shareData.players.getPlayer(2).getItemIndex(ITEM.MURDERE_KNIFE), -1); GameTest.assertMurderer(2, 1); GameTest.assertLive(3); GameTest.assertLive(4); GameTest.assertDead(1, DEAD_REASON.KNIFE, 2); } }
public void ContractReCoincheNotValid() { bool isRespected = false; bool hasThrown = false; try { GameTest test = new GameTest(GameMode.ClassicHeart, CardColor.Heart); var game = test.game; var team = test.game.Teams; test.Prepare(new Contract(Promise.Points100, team[0].Players[0])); team[0].ScoreCurrent = 90; test.game.Contract.ChangeContract(Promise.Coinche, team[1].Players[0], team[0].Players[0]); test.game.Contract.ChangeContract(Promise.ReCoinche, team[0].Players[0], team[1].Players[0]); isRespected = Contract.IsPromiseRespected(game, team[0], team[1]); } catch (Exception) { isRespected = false; hasThrown = true; } Assert.AreEqual(false, isRespected); Assert.AreEqual(false, hasThrown); }
public void MidNight1Test8() { for (int i = 0; i < 100; i++) { Game gm = GameTest.createGame(); { var o = new MidNight(); o.init(); } GameTest.setItem(gm, "p1", ITEM.MURDERE_KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE); GameTest.setItem(gm, "p2", ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE); var p1 = GameFactory.getGame().shareData.players.getPlayer(1); p1.murderer = true; p1.murdererTurn = 2; sendCmd(1, 0, -1); sendCmd(2, 0, -1); sendCmd(3, 0, -1); sendCmd(4, 0, -1); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(1).state, PLAYER_STATE.MIDNIGHT_SELECT_OK_DISCOVERER_ITEM_SELECT_WAIT); var p2 = GameFactory.getGame().shareData.players.getPlayer(GameFactory.getGame().shareData.players.getPlayer(1).discoverer); Assert.AreEqual(p2.state, PLAYER_STATE.MIDNIGHT_SELECT_OK_DISCOVERER_ITEM_SELECT); GameTest.assertDead(1, DEAD_REASON.HAKKYO, 0); GameTest.assertLive(2); GameTest.assertLive(3); GameTest.assertLive(4); } }
public void ContractFoldGeneraNotlRespectedEnemy() { bool isRespected = false; bool hasThrown = false; try { GameTest test = new GameTest(GameMode.ClassicHeart, CardColor.Heart); var game = test.game; var team = test.game.Teams; test.Prepare(new Contract(Promise.General, team[0].Players[0], team[0].Players[0])); game.Run(false); team[0].Players[0].WinFold(); game.Run(false); team[1].Players[0].WinFold(); game.Run(false); team[0].Players[0].WinFold(); isRespected = Contract.IsPromiseRespected(game, team[0], team[1]); } catch (Exception) { isRespected = false; hasThrown = true; } Assert.AreEqual(false, isRespected); Assert.AreEqual(false, hasThrown); }
public void plusMurdererTest2() { Game gm = GameTest.createGame(); GameTest.setItem(gm, "p1", ITEM.MURDERE_KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE); MidNightSub sub = new MidNightSub(); var p1 = gm.shareData.players.getPlayer(1); gm.shareData.field.dementDay = 4; p1.murderer = true; p1.murdererTurn = 5; sub.plusMurderer(p1); Assert.AreEqual(true, p1.fdead); Assert.AreEqual(DEAD_REASON.HAKKYO, p1.deadReason); Assert.AreEqual(gm.shareData.players.getPlayer(1).getItemIndex(ITEM.MURDERE_KNIFE), -1); if (gm.shareData.players.getPlayer(2).getItemIndex(ITEM.MURDERE_KNIFE) != -1 || gm.shareData.players.getPlayer(3).getItemIndex(ITEM.MURDERE_KNIFE) != -1 || gm.shareData.players.getPlayer(4).getItemIndex(ITEM.MURDERE_KNIFE) != -1 ) { } else { Assert.Fail(); } }
public void killTest3() { for (int i = 0; i < 1000; i++) { Game gm = GameTest.createGame(); MidNightSub sub = new MidNightSub(); setKnife(gm, 1, 2, ITEM.KNIFE); setKnife(gm, 2, 3, ITEM.KNIFE); sub.kill(gm.shareData.players.getPlayer(2)); sub.kill(gm.shareData.players.getPlayer(1)); GameTest.assertLive(1); GameTest.assertDead(2, DEAD_REASON.KNIFE, 1); GameTest.assertDead(3, DEAD_REASON.KNIFE, 2); GameTest.assertLive(4); if (gm.shareData.players.getPlayer(1).getItem(0) == ITEM.MURDERE_KNIFE) { gm.shareData.players.getPlayer(1).setItem(0, ITEM.NONE); } GameTest.assertItem(1, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); GameTest.assertItem(2, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); } }
private static void Main(string[] args) { using (var game = new GameTest()) { game.Run(); } }
public void NightTest3() { Game gm = GameTest.createGame(); gm.shareData.players.getPlayer(2).fdead = true; { var o = new Night(); o.init(); } sendCmd(1, true, PLAYER_STATE.NIGHT_SELECT_OK); sendCmd(3, true, PLAYER_STATE.NIGHT_SELECT_OK); sendCmd(4, true, PLAYER_STATE.NIGHT_VOTE); Assert.AreEqual(gm.shareData.field.yes, 3); Assert.AreEqual(gm.shareData.field.no, 0); Assert.AreEqual(gm.shareData.players.getPlayer(1).state, db.PLAYER_STATE.NIGHT_VOTE); Assert.AreEqual(gm.shareData.players.getPlayer(2).state, db.PLAYER_STATE.NIGHT_VOTE_END); Assert.AreEqual(gm.shareData.players.getPlayer(3).state, db.PLAYER_STATE.NIGHT_VOTE); Assert.AreEqual(gm.shareData.players.getPlayer(4).state, db.PLAYER_STATE.NIGHT_VOTE); sendCmd2(1, 2, PLAYER_STATE.NIGHT_VOTE_OK); sendCmd2(3, 4, PLAYER_STATE.NIGHT_VOTE_OK); sendCmd2(4, 4, PLAYER_STATE.NIGHT_VOTE_END); Assert.AreEqual(gm.shareData.players.getPlayer(1).dayNightVote, 0); Assert.AreEqual(gm.shareData.players.getPlayer(2).dayNightVote, 0); Assert.AreEqual(gm.shareData.players.getPlayer(3).dayNightVote, 0); Assert.AreEqual(gm.shareData.players.getPlayer(4).dayNightVote, 2); Assert.AreEqual(gm.shareData.field.captivity, 4); // end Assert.IsTrue(gm.shareData.players.isAllPlayerState(PLAYER_STATE.NIGHT_VOTE_END)); }
public async Task CanLaunch() { var launcher = A.Fake <IRealVirtualityLauncher>(); A.CallTo(() => launcher.Launch(A <LaunchGameInfo> ._)) .ReturnsLazily(() => Task.FromResult(Process.GetCurrentProcess())); await _game.Launch(GameTest.GameLauncher(_game, launcher)).ConfigureAwait(false); }
private void setKnife(Game gm, int id, int dest, ITEM item) { var p = gm.shareData.players.getPlayer(id); GameTest.setItem(gm, p.name, item, ITEM.NONE, ITEM.NONE, ITEM.NONE); p.net_item = 0; p.net_opp = dest; p.usedItem(); }
public void MidNight1Test4() { for (int i = 0; i < 500; i++) { Game gm = GameTest.createGame(); { var o = new MidNight(); o.init(); } GameTest.setItem(gm, "p1", ITEM.MURDERE_KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE); GameTest.setItem(gm, "p2", ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE); GameTest.setItem(gm, "p3", ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE); GameTest.setItem(gm, "p4", ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE); sendCmd(1, 2, 2); sendCmd(2, 1, 2); sendCmd(3, 0, -1); sendCmd(4, 0, -1); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(1).state, PLAYER_STATE.MIDNIGHT_SELECT_OK_DISCOVERER_ITEM_SELECT_WAIT); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(2).state, PLAYER_STATE.MIDNIGHT_SELECT_OK_DISCOVERER_ITEM_SELECT_WAIT); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(3).state, PLAYER_STATE.MIDNIGHT_SELECT_OK_DISCOVERER_ITEM_SELECT); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(4).state, PLAYER_STATE.MIDNIGHT_SELECT_OK_DISCOVERER_ITEM_SELECT); Assert.AreNotEqual( GameFactory.getGame().shareData.players.getPlayer(3).dayDiscovere, GameFactory.getGame().shareData.players.getPlayer(4).dayDiscovere); if (!(GameFactory.getGame().shareData.players.getPlayer(3).getItemIndex(ITEM.MURDERE_KNIFE) != -1 || GameFactory.getGame().shareData.players.getPlayer(4).getItemIndex(ITEM.MURDERE_KNIFE) != -1 )) { Assert.Fail(); } sendCmd2(3, GameFactory.getGame().shareData.players.getPlayer(3).dayDiscovere, new ITEM[] { ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE } ); sendCmd2(4, GameFactory.getGame().shareData.players.getPlayer(4).dayDiscovere, new ITEM[] { ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE } ); Assert.IsTrue(gm.shareData.players.isAllPlayerState(PLAYER_STATE.MIDNIGHT_END)); GameTest.assertLive(3); GameTest.assertLive(4); GameTest.assertDead(1, DEAD_REASON.KNIFE, 2); GameTest.assertDead(2, DEAD_REASON.KNIFE, 1); GameTest.assertItem(1, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); GameTest.assertItem(2, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); GameTest.assertItem(3, new ITEM[] { ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); GameTest.assertItem(4, new ITEM[] { ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); } }
public void NextTurnTest() { Game gm = GameTest.createGame(); new NextTurn(); Assert.AreEqual(FIELD_STATE.MORNING, GameFactory.getGame().shareData.field.state); new NextTurn(); Assert.AreEqual(FIELD_STATE.NOON, GameFactory.getGame().shareData.field.state); }
public void MidNight1Test() { for (int i = 0; i < 100; i++) { Game gm = GameTest.createGame(); { var o = new MidNight(); o.init(); } GameTest.setItem(gm, "p1", ITEM.MURDERE_KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE); GameTest.setItem(gm, "p2", ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK); sendCmd(1, 2, 0); sendCmd(2, 0, -1); sendCmd(3, 0, -1); sendCmd(4, 0, -1); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(1).state, PLAYER_STATE.MIDNIGHT_KILL_ITEM_SELECT); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(2).state, PLAYER_STATE.MIDNIGHT_KILL_ITEM_SELECT_WAIT); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(3).state, PLAYER_STATE.MIDNIGHT_SELECT_OK); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(4).state, PLAYER_STATE.MIDNIGHT_SELECT_OK); sendCmd2(1, 2, new ITEM[] { ITEM.MURDERE_KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE } ); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(1).state, PLAYER_STATE.MIDNIGHT_END); Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(2).state, PLAYER_STATE.MIDNIGHT_SELECT_OK_DISCOVERER_ITEM_SELECT_WAIT); if (GameFactory.getGame().shareData.players.getPlayer(3).state == PLAYER_STATE.MIDNIGHT_SELECT_OK_DISCOVERER_ITEM_SELECT) { Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(4).state, PLAYER_STATE.MIDNIGHT_END); } else { Assert.AreEqual(GameFactory.getGame().shareData.players.getPlayer(4).state, PLAYER_STATE.MIDNIGHT_SELECT_OK_DISCOVERER_ITEM_SELECT); } sendCmd2(GameFactory.getGame().shareData.players.getPlayer(2).discoverer, 2, new ITEM[] { ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE } ); Assert.IsTrue(gm.shareData.players.isAllPlayerState(PLAYER_STATE.MIDNIGHT_END)); GameTest.assertLive(1); GameTest.assertMurderer(1, 2); GameTest.assertDead(2, DEAD_REASON.MURDERER_KNIFE, 1); GameTest.assertLive(3); GameTest.assertItem(1, new ITEM[] { ITEM.MURDERE_KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); GameTest.assertItem(2, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); GameTest.assertItem(GameFactory.getGame().shareData.players.getPlayer(2).discoverer, new ITEM[] { ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); } }
public void getRandomFirstDscovererTest() { for (int i = 0; i < 100; i++) { Game gm = GameTest.createGame(); MidNightSub sub = new MidNightSub(); gm.shareData.players.getPlayer(1).dead(DEAD_REASON.HAKKYO, 0); var p1 = sub.getRandomFirstDscoverer(); Assert.AreNotEqual(1, p1.id); } }
public void plusMurdererTest() { Game gm = GameTest.createGame(); MidNightSub sub = new MidNightSub(); var p1 = gm.shareData.players.getPlayer(1); gm.shareData.field.dementDay = 2; p1.murderer = true; p1.murdererTurn = 1; sub.plusMurderer(p1); Assert.AreEqual(false, p1.fdead); Assert.AreEqual(2, p1.murdererTurn); }
public void unuseKnifeTest() { Game gm = GameTest.createGame(); MidNightSub sub = new MidNightSub(); setKnife(gm, 1, 2, ITEM.KNIFE); setKnife(gm, 2, 3, ITEM.KNIFE); setKnife(gm, 3, 4, ITEM.KNIFE); gm.shareData.players.getPlayer(1).usedItem(); gm.shareData.players.getPlayer(2).usedItem(); gm.shareData.players.getPlayer(3).usedItem(); Assert.AreEqual(3, gm.shareData.players.getUseItemPlayers(ITEM.KNIFE).Count); sub.unuseKnife(2); Assert.AreEqual(2, gm.shareData.players.getUseItemPlayers(ITEM.KNIFE).Count); }
public async Task CanLaunchWithResetGameKeyEachLaunch_LaunchesJustOnce() { _settings.ResetGameKeyEachLaunch = true; _settings.LaunchUsingSteam = true; var launcher = A.Fake <IRealVirtualityLauncher>(); var specs = new List <LaunchGameInfoBase>(); A.CallTo(() => launcher.Launch(A <LaunchGameWithSteamLegacyInfo> ._)) .Invokes((IAsyncRequest <Process> x) => specs.Add((LaunchGameInfoBase)x)) .ReturnsLazily(() => Task.FromResult(Process.GetCurrentProcess())); await _game.Launch(GameTest.GameLauncher(_game, launcher)).ConfigureAwait(false); specs.Should().HaveCount(1); specs[0].StartupParameters.Should() .BeEmpty(); }
public void NightTest2() { Game gm = GameTest.createGame(); { var o = new Night(); o.init(); } sendCmd(1, true, PLAYER_STATE.NIGHT_SELECT_OK); sendCmd(2, true, PLAYER_STATE.NIGHT_SELECT_OK); sendCmd(3, false, PLAYER_STATE.NIGHT_SELECT_OK); sendCmd(4, false, PLAYER_STATE.NIGHT_SELECT_END); Assert.AreEqual(gm.shareData.field.yes, 2); Assert.AreEqual(gm.shareData.field.no, 2); Assert.AreEqual(gm.shareData.players.getPlayer(1).state, db.PLAYER_STATE.NIGHT_SELECT_END); Assert.AreEqual(gm.shareData.players.getPlayer(2).state, db.PLAYER_STATE.NIGHT_SELECT_END); Assert.AreEqual(gm.shareData.players.getPlayer(3).state, db.PLAYER_STATE.NIGHT_SELECT_END); Assert.AreEqual(gm.shareData.players.getPlayer(4).state, db.PLAYER_STATE.NIGHT_SELECT_END); }
public void killKnifeLoopTest2() { for (int i = 0; i < 100; i++) { Game gm = GameTest.createGame(); MidNightSub sub = new MidNightSub(); setKnife(gm, 1, 2, ITEM.KNIFE); setKnife(gm, 2, 1, ITEM.KNIFE); sub.killKnifeLoop(); GameTest.assertDead(1, DEAD_REASON.KNIFE, 2); GameTest.assertDead(2, DEAD_REASON.KNIFE, 1); GameTest.assertLive(3); GameTest.assertLive(4); GameTest.assertItem(1, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); GameTest.assertItem(2, new ITEM[] { ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE }); } }
public void usedKensikitTest() { Game gm = GameTest.createGame(); MidNightSub sub = new MidNightSub(); GameTest.setItem(gm, "p1", ITEM.KENSIKIT, ITEM.NONE, ITEM.NONE, ITEM.NONE); var p1 = gm.shareData.players.getPlayer(1); var p2 = gm.shareData.players.getPlayer(2); p1.net_item = 0; p1.net_opp = 2; p1.usedItem(); var p1r = sub.usedKensikit(p1); Assert.AreEqual(p1r.reason, DEAD_REASON.LIVE); Assert.AreEqual(p1r.target.id, 2); Assert.AreEqual(sub.usedKensikit(p2), null); Assert.AreEqual(p1.getItem(0), ITEM.NONE); }
public void NoonTest() { Game gm = GameTest.createGame(); { var o = new Noon(); o.init(); } GameTest.setItem(gm, "p1", ITEM.MURDERE_KNIFE, ITEM.KNIFE, ITEM.KNIFE, ITEM.KNIFE); GameTest.setItem(gm, "p2", ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK, ITEM.CHEAN_LOCK); GameTest.setItem(gm, "p3", ITEM.KENSIKIT, ITEM.KENSIKIT, ITEM.KENSIKIT, ITEM.KENSIKIT); sendCmd(1, 2, PLAYER_STATE.NOON_WAIT_ACK, PLAYER_STATE.NOON_REQUEST_RETURN); sendCmd2(2, 1, true, PLAYER_STATE.NOON_ITEM, PLAYER_STATE.NOON_ITEM); sendCmd3(1, 1, PLAYER_STATE.NOON_ITEM_OK); Assert.AreEqual(gm.shareData.players.getPlayer("p2").state, db.PLAYER_STATE.NOON_ITEM); sendCmd3(2, 1, PLAYER_STATE.NONE); Assert.AreEqual(gm.shareData.players.getPlayer("p2").state, db.PLAYER_STATE.NONE); Assert.AreEqual(gm.shareData.players.getPlayer("p1").items[0], ITEM.MURDERE_KNIFE); Assert.AreEqual(gm.shareData.players.getPlayer("p1").items[1], ITEM.CHEAN_LOCK); Assert.AreEqual(gm.shareData.players.getPlayer("p1").items[2], ITEM.KNIFE); Assert.AreEqual(gm.shareData.players.getPlayer("p1").items[3], ITEM.KNIFE); Assert.AreEqual(gm.shareData.players.getPlayer("p2").items[0], ITEM.CHEAN_LOCK); Assert.AreEqual(gm.shareData.players.getPlayer("p2").items[1], ITEM.KNIFE); Assert.AreEqual(gm.shareData.players.getPlayer("p2").items[2], ITEM.CHEAN_LOCK); Assert.AreEqual(gm.shareData.players.getPlayer("p2").items[3], ITEM.CHEAN_LOCK); Assert.AreEqual(gm.shareData.players.getPlayer("p3").items[0], ITEM.KENSIKIT); Assert.AreEqual(gm.shareData.players.getPlayer("p3").items[1], ITEM.KENSIKIT); Assert.AreEqual(gm.shareData.players.getPlayer("p3").items[2], ITEM.KENSIKIT); Assert.AreEqual(gm.shareData.players.getPlayer("p3").items[3], ITEM.KENSIKIT); // end sendCmd4(1); sendCmd4(2); sendCmd4(3); sendCmd4(4); Assert.IsTrue(gm.shareData.players.isAllPlayerState(PLAYER_STATE.NOON_END)); }
public async Task CanLaunchWithResetGameKeyEachLaunch() { _settings.ResetGameKeyEachLaunch = true; var parPath = Path.Combine(Path.GetTempPath(), _game.Id + ".txt").ToAbsoluteFilePath(); var launcher = A.Fake <IRealVirtualityLauncher>(); var specs = new List <LaunchGameInfoBase>(); A.CallTo(() => launcher.Launch(A <LaunchGameInfo> ._)) .Invokes((IAsyncRequest <Process> x) => specs.Add((LaunchGameInfo)x)) .ReturnsLazily(() => Task.FromResult(Process.GetCurrentProcess())); A.CallTo(() => launcher.WriteParFile(A <WriteParFileInfo> .That.Matches(x => x.GameId == _game.Id))) .ReturnsLazily(() => Task.FromResult(parPath)); await _game.Launch(GameTest.GameLauncher(_game, launcher)).ConfigureAwait(false); specs.Should().HaveCount(2); specs[0].StartupParameters.Should().BeEquivalentTo(new[] { "-doNothing" }); specs[0].Should().BeOfType <LaunchGameWithSteamLegacyInfo>(); specs[1].StartupParameters.Should() .BeEquivalentTo(new[] { "-par=" + parPath, "-nosplash", "-nofilepatching" }); specs[1].Should().BeOfType <LaunchGameWithSteamInfo>(); }
public void usedTantikiTest() { Game gm = GameTest.createGame(); MidNightSub sub = new MidNightSub(); GameTest.setItem(gm, "p1", ITEM.KENTIKI, ITEM.NONE, ITEM.NONE, ITEM.NONE); GameTest.setItem(gm, "p2", ITEM.MURDERE_KNIFE, ITEM.MURDERE_KNIFE, ITEM.MURDERE_KNIFE, ITEM.MURDERE_KNIFE); var p1 = gm.shareData.players.getPlayer(1); var p2 = gm.shareData.players.getPlayer(2); p1.net_item = 0; p1.net_opp = 2; p1.usedItem(); var p1r = sub.usedTantiki(p1); Assert.AreEqual(p1r.item, ITEM.KNIFE); Assert.AreEqual(p1r.count, 4); Assert.AreEqual(p1r.target.id, 2); Assert.AreEqual(sub.usedTantiki(p2), null); Assert.AreEqual(p1.getItem(0), ITEM.NONE); }
public void NightTest() { Game gm = GameTest.createGame(); { AStory night = new Night(); night.init(); } sendCmd(1, true, PLAYER_STATE.NIGHT_SELECT_OK); sendCmd(2, true, PLAYER_STATE.NIGHT_SELECT_OK); sendCmd(3, true, PLAYER_STATE.NIGHT_SELECT_OK); sendCmd(4, false, PLAYER_STATE.NIGHT_VOTE); Assert.AreEqual(gm.shareData.field.yes, 3); Assert.AreEqual(gm.shareData.field.no, 1); Assert.AreEqual(gm.shareData.players.getPlayer(1).state, db.PLAYER_STATE.NIGHT_VOTE); Assert.AreEqual(gm.shareData.players.getPlayer(2).state, db.PLAYER_STATE.NIGHT_VOTE); Assert.AreEqual(gm.shareData.players.getPlayer(3).state, db.PLAYER_STATE.NIGHT_VOTE); Assert.AreEqual(gm.shareData.players.getPlayer(4).state, db.PLAYER_STATE.NIGHT_VOTE); sendCmd2(1, 2, PLAYER_STATE.NIGHT_VOTE_OK); sendCmd2(2, 0, PLAYER_STATE.NIGHT_VOTE_OK); sendCmd2(3, 2, PLAYER_STATE.NIGHT_VOTE_OK); sendCmd2(4, 1, PLAYER_STATE.NIGHT_VOTE_END); Assert.AreEqual(gm.shareData.players.getPlayer(1).dayNightVote, 1); Assert.AreEqual(gm.shareData.players.getPlayer(2).dayNightVote, 2); Assert.AreEqual(gm.shareData.players.getPlayer(3).dayNightVote, 0); Assert.AreEqual(gm.shareData.players.getPlayer(4).dayNightVote, 0); Assert.AreEqual(gm.shareData.field.captivity, 2); // end Assert.IsTrue(gm.shareData.players.isAllPlayerState(PLAYER_STATE.NIGHT_VOTE_END)); }
public void randMurdererKnifeMoveTest() { for (int i = 0; i < 100; i++) { Game gm = GameTest.createGame(); MidNightSub sub = new MidNightSub(); GameTest.setItem(gm, "p1", ITEM.NONE, ITEM.NONE, ITEM.NONE, ITEM.NONE); gm.shareData.players.getPlayer(1).dead(DEAD_REASON.HAKKYO, 0); sub.randMurdererKnifeMove(); Player p = null; foreach (var p2 in gm.shareData.players.players) { if (p2.getItemIndex(ITEM.MURDERE_KNIFE) != -1) { p = p2; break; } } Assert.AreNotEqual(null, p); Assert.AreNotEqual(1, p.id); } }
public AudioTestScene(GameTest game) : base(game) { game.Window.Title = "Audio Test Scene"; }
public InputTestScene(GameTest game) : base(game) { game.Window.Title = "Input Test Scene"; }
public void Portal2Test() => GameTest.Portal2().Await();
public void OldEngineTest() => GameTest.OldEngine().Await();
public GuiTestScene(GameTest game) : base(game) { game.Window.Title = "GUI Test Scene"; }
public UtilityTestScene(GameTest game) : base(game) { game.Window.Title = "Utility Test Scene"; keyboardManager.PressingDelay = 100; }
public PhysicsTestScene(GameTest game) : base(game) { game.Window.Title = "Physics Test Scene"; }