X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=test%2Fsymmetric_linear_game_test.py;h=19be8c511f628a41f67baa0877ce37eaee4393ef;hb=6b28e89a792679e30249f5c187feefa2bdfa18a6;hp=1e7194b6bf08e50c1739539469a36279d866f8c1;hpb=e22adb2af08288282c3f085eb7a43ab131577bfe;p=dunshire.git diff --git a/test/symmetric_linear_game_test.py b/test/symmetric_linear_game_test.py index 1e7194b..19be8c5 100644 --- a/test/symmetric_linear_game_test.py +++ b/test/symmetric_linear_game_test.py @@ -68,6 +68,54 @@ class SymmetricLinearGameTest(TestCase): # pylint: disable=R0904 self.assertTrue(p1_close and p2_close and gv_close) + def assert_player1_start_valid(self, G): + x = G.player1_start()['x'] + s = G.player1_start()['s'] + s1 = s[0:G.dimension()] + s2 = s[G.dimension():] + self.assert_within_tol(norm(G.A()*x - G.b()), 0) + self.assertTrue((s1, s2) in G.C()) + + + def test_player1_start_valid_orthant(self): + """ + Ensure that player one's starting point is in the orthant. + """ + G = random_orthant_game() + self.assert_player1_start_valid(G) + + + def test_player1_start_valid_icecream(self): + """ + Ensure that player one's starting point is in the ice-cream cone. + """ + G = random_icecream_game() + self.assert_player1_start_valid(G) + + + def assert_player2_start_valid(self, G): + z = G.player2_start()['z'] + z1 = z[0:G.dimension()] + z2 = z[G.dimension():] + self.assertTrue((z1, z2) in G.C()) + + + def test_player2_start_valid_orthant(self): + """ + Ensure that player two's starting point is in the orthant. + """ + G = random_orthant_game() + self.assert_player2_start_valid(G) + + + def test_player2_start_valid_icecream(self): + """ + Ensure that player two's starting point is in the ice-cream cone. + """ + G = random_icecream_game() + self.assert_player2_start_valid(G) + + def test_condition_lower_bound(self): """ Ensure that the condition number of a game is greater than or