public async Task GetTournamentRoundGroup_ReturnsTournamentGroup() { var result = await ChessAPI.GetTournamentRoundGroupAsync("-33rd-chesscom-quick-knockouts-1401-1600", "1", "1"); Assert.AreNotEqual(null, result.Games); Assert.AreNotEqual(null, result.Players); }
public void SimpleAtomicityTest2() { racyvariable = 0; Thread t = new Thread((Object irrelevant) => { ChessAPI.TraceEvent("doing child ops"); ChessAPI.PreemptionDisable(); ChessAPI.PreemptionDisable(); ChessAPI.PreemptionEnable(); ChessAPI.PreemptionEnable(); racyvariable++; }); t.Start(); ChessAPI.TraceEvent("doing parent ops"); ChessAPI.PreemptionDisable(); racyvariable++; ChessAPI.PreemptionEnable(); t.Join(); Assert.AreEqual(2, racyvariable); }
public void Sample2() { Pair p = new Pair(); Thread t1 = new Thread(() => { ChessAPI.ObserveOperationCall("set a=0"); p.Write_a(0); ChessAPI.ObserveOperationReturn(); ChessAPI.ObserveOperationCall("read both"); ChessAPI.ObserveInteger("val", p.Read_both()); ChessAPI.ObserveOperationReturn(); ChessAPI.ObserveOperationCall("read a"); ChessAPI.ObserveInteger("val", p.Read_a()); ChessAPI.ObserveOperationReturn(); }); Thread t2 = new Thread(() => { ChessAPI.ObserveOperationCall("set b=10"); p.Write_b(10); ChessAPI.ObserveOperationReturn(); ChessAPI.ObserveOperationCall("read both"); ChessAPI.ObserveInteger("val", p.Read_both()); ChessAPI.ObserveOperationReturn(); }); t1.Start(); t2.Start(); t1.Join(); t2.Join(); }
public void SimpleAtomicityTest3b() { racyvariable = 0; Thread t = new Thread((Object irrelevant) => { ChessAPI.RunWithoutPreemptions(() => { racyvariable++; }); }); t.Start(); try { ChessAPI.RunWithoutPreemptions(() => ((Object)(null)).GetHashCode()); } catch (NullReferenceException) { } racyvariable++; t.Join(); Assert.AreEqual(2, racyvariable); }
public static async Task CheckPercentageLostGames_ReturnsDouble() { var games = await ChessAPI.GetMonthlyArchiveAsync("https://api.chess.com/pub/player/calculatedblunder/games/2018/08"); var percentage = GameChecker.CheckPercentageLostGames(games, "calculatedblunder"); Assert.IsTrue(percentage > 0); }
public async Task GetJsonFromUrl_ReturnsString() { // Arrange // var class = new MyClass(); // Act var result = await ChessAPI.GetJsonFromUrlAsync("https://api.chess.com/pub/player/calculatedblunder"); // Assert Assert.AreNotEqual(string.Empty, result); }
public string GetInitialGame() { XmlNode xml = ChessAPI.getInitialGameXML(); Game g = new Game(); g.Reset(); g.ActivePlay.GetBestMove(); g.XmlDeserialize(xml); Move m = g.ActivePlay.GetBestMove(); return("hi"); }
private static void ForkJoin(T objundertest, string[][] matrix, Action <T>[][] ops) { Thread[] threads = new Thread[ops.Length]; // Create all threads for (int t = 0; t < threads.Length; t++) { int tt = t; threads[t] = new Thread(() => { for (int o = 0; o < ops[tt].Length; o++) { try { ChessAPI.TraceEvent(matrix[tt][o]); ChessAPI.ObserveOperationCall(matrix[tt][o]); ops[tt][o](objundertest); } catch (Exception e) { if (ChessAPI.IsBreakingDeadlock()) { break; } ChessAPI.ObserveString("exception", e.Message); } ChessAPI.ObserveOperationReturn(); } }); } // start all threads foreach (var t in threads) { t.Start(); } // join all threads foreach (var t in threads) { t.Join(); } }
public void SmallFailingSample1() { a = 0; b = 0; System.Threading.Tasks.Parallel.Invoke( () => { ChessAPI.ObserveOperationCall("first"); a = 1; ChessAPI.ObserveInteger("val", a); ChessAPI.ObserveOperationReturn(); }, () => { ChessAPI.ObserveOperationCall("second"); a = 2; ChessAPI.ObserveOperationReturn(); } ); }
[ExpectedResult(TestResultType.Error)] // TODO make special error type for these? public void Test1() { System.Threading.Tasks.Parallel.Invoke( () => { ChessAPI.ObserveOperationCall("first"); a = 1; a = 1; b = a; ChessAPI.ObserveOperationReturn(); }, () => { ChessAPI.ObserveOperationCall("second"); b = 1; b = 1; ChessAPI.ObserveOperationReturn(); } ); }
// harness for testing "Pair" objects private ComponentHarness <Pair> CreateHarness() { var harness = new ComponentHarness <Pair>(); harness.DefineConstructor("default", () => { return(new Pair()); }); harness.DefineOperation("read a", (Pair p) => { int val = p.Read_a(); ChessAPI.ObserveInteger("val", val); }); harness.DefineOperation("read both", (Pair p) => { int val = p.Read_both(); ChessAPI.ObserveInteger("val", val); }); for (int i = 0; i < 2; i++) { int val = i * 10; harness.DefineOperation("set a=" + val, (Pair p) => { p.Write_a(val); }); harness.DefineOperation("set b=" + val, (Pair p) => { p.Write_b(val); }); } harness.DefineOperation("set a=b=10", (Pair p) => { p.Write_both(10, 10); }); return(harness); }
public void SmallPassingSample1() { a = 0; b = 0; System.Threading.Tasks.Parallel.Invoke( () => { ChessAPI.ObserveOperationCall("first"); a = 1; a = 1; b = a; ChessAPI.ObserveInteger("val", 2); ChessAPI.ObserveOperationReturn(); }, () => { ChessAPI.ObserveOperationCall("second"); b = 1; ChessAPI.ObserveString("ret", "hurra"); b = 1; ChessAPI.ObserveOperationReturn(); } ); }
public async Task IsPlayerOnlineAsync_PlayerIsOffline_ReturnsFalse() { var result = await ChessAPI.IsPlayerOnlineAsync("calculatedblunder"); Assert.IsTrue(!result); }
public async Task GetPlayerStats_ReturnsProfileStats() { var result = await ChessAPI.GetPlayerStatsAsync("erik"); Assert.IsNotNull(result.ChessBullet); }
public async Task LookupPlayersWithTitleAsync_ReturnsStringArray() { var result = await ChessAPI.GetPlayersWithTitleAsync("GM"); Assert.AreNotEqual(new string[0], result); }
public async Task GetLeaderboards_ReturnsLeaderboard() { var result = await ChessAPI.GetLeaderboardsAsync(); Assert.AreNotEqual(null, result.Bullet); }
public async Task GetStreamers_ReturnsStreamerArray() { var result = await ChessAPI.GetStreamersAsync(); Assert.AreNotEqual(string.Empty, result[0].Username); }
public async Task GetRandomPuzzle_ReturnsDailyPuzzle() { var result = await ChessAPI.GetRandomPuzzleAsync(); Assert.AreNotEqual(string.Empty, result.Title); }
public async Task GetClubMembers_ReturnsClubMembers() { var result = await ChessAPI.GetClubMembersAsync("chess-com-developer-community"); Assert.IsTrue(result.Weekly.Length > 0); }
public async Task GetLiveTeamMatchBoard_ReturnsTeamMatchBoard() { var result = await ChessAPI.GetLiveTeamMatchBoardAsync("5833", "5"); Assert.AreNotEqual(null, result.Games); }
public async Task GetLiveTeamMatch_ReturnsTeamMatch() { var result = await ChessAPI.GetLiveTeamMatchAsync("5833"); Assert.AreNotEqual(null, result.Name); }
public async Task GetTournamentRound_ReturnsTournamentRound() { var result = await ChessAPI.GetTournamentRoundAsync("-33rd-chesscom-quick-knockouts-1401-1600", "1"); Assert.IsTrue(result.Players.Length > 0 || result.Groups.Length > 0); }
public async Task GetTournament_ReturnsTournament() { var result = await ChessAPI.GetTournamentAsync("-33rd-chesscom-quick-knockouts-1401-1600"); Assert.AreNotEqual(string.Empty, result.Name); }
public async Task GetClubMatches_ReturnsClubMatches() { var result = await ChessAPI.GetClubMatchesAsync("team-usa-southwest"); Assert.IsTrue(result.Finished.Length > 0); }
public async Task GetDailyGamesPlayerToMove_ReturnsDailyGameArray() { var result = await ChessAPI.GetDailyGamesPlayerToMoveAsync("erik"); Assert.IsNotNull(result); }
public async Task GetPlayerProfileAsync_ReturnsPlayer() { var result = await ChessAPI.GetPlayerProfileAsync("erik"); Assert.AreEqual(41, result.PlayerID); }
public async Task GetAvailableMonthlyArchives_ReturnsStringArray() { var result = await ChessAPI.GetAvailableMonthlyArchivesAsync("erik"); Assert.IsNotNull(result); }
public async Task GetClubProfile_ReturnsClubProfile() { var result = await ChessAPI.GetClubProfileAsync("chess-com-developer-community"); Assert.IsTrue(result.ID > 0); }
public async Task GetMonthlyArchive_ReturnsArchiveGameArray() { var result = await ChessAPI.GetMonthlyArchiveAsync("erik", 2017, 12); Assert.IsNotNull(result); }
public async Task GetDailyTeamMatchBoard_ReturnsTeamMatch() { var result = await ChessAPI.GetDailyTeamMatchBoardAsync("12803", "1"); Assert.AreNotEqual(null, result.Games); }