def test_faulty_bots_scenario():
    rn.seed(1234)
    buyer1 = MyopicBuyer("Sarah")
    seller1 = DummySeller("Sarah")
    buyer2 = FaultyBuyer()
    seller2 = DummySeller("Basil")
    teams = [(buyer1, seller1), (buyer2, seller2)]
    # This code should terminate.. that's all we're testing
    simulate(teams, horizon, x_0, 1, price_scale)
Exemple #2
0
def test_simulation_game_with_two_teams_same_strategies():
    rn.seed(123)
    buyer1 = MyopicBuyer("Sarah")
    seller1 = DummySeller("Sarah")
    buyer2 = MyopicBuyer("Steve")
    seller2 = DummySeller("Steve")
    teams = [(buyer1, seller1), (buyer2, seller2)]
    mean_revenue, mean_cs = simulate(teams, horizon, x_0, mc_trials, price_scale)
    assert mean_revenue[0] == mean_revenue[1] and mean_revenue[0] > 0.
    assert mean_cs[0] == mean_cs[1] and mean_cs[0] > 0.
Exemple #3
0
def test_simulation_game_with_two_teams_different_strategies():
    rn.seed(1234)
    buyer1 = MyopicBuyer("Sarah")
    seller1 = DummySeller("Sarah")
    buyer2 = MyopicBuyer("Steve")
    seller2 = DummySeller("Steve", constant_price=0.1)
    teams = [(buyer1, seller1), (buyer2, seller2)]
    mean_revenue, mean_cs = simulate(teams, horizon, x_0, mc_trials, price_scale)
    # with a very low selling price for team 2, the seller is undervaluing the product and hence makes less revenue
    assert mean_revenue[0] > mean_revenue[1] and np.all(mean_revenue > 0.)
    # with a very low selling price for team 2, the buyer is making a good deal a lot of the time and has higher
    # consumer surplus, on average
    assert mean_cs[0] > mean_cs[1] and np.all(mean_cs > 0.)
Exemple #4
0
def test_my_teams_performance():
    """
    This function is where you can write a test for your buyer and seller bot, and evaluate performance
    """
    rn.seed(123)
    buyer1 = TeamNameBuyer()
    seller1 = TeamNameSeller()
    buyer2 = MyopicBuyer("Steve")
    seller2 = DummySeller("Steve")
    teams = [(buyer1, seller1), (buyer2, seller2)]
    mean_revenue, mean_cs = simulate(teams, horizon, x_0, mc_trials,
                                     price_scale)
    print mean_revenue, mean_cs
Exemple #5
0
def test_simulation_game_with_three_teams():
    rn.seed(1234)
    buyer1 = MyopicBuyer("Sarah")
    seller1 = DummySeller("Sarah")
    buyer2 = MyopicBuyer("Steve")
    seller2 = DummySeller("Steve", constant_price=0.1)
    buyer3 = MyopicBuyer("Emanuel")
    seller3 = DummySeller("Emanuel", constant_price=1.)
    teams = [(buyer1, seller1), (buyer2, seller2), (buyer3, seller3)]
    mean_revenue, mean_cs = simulate(teams, horizon, x_0, mc_trials, price_scale)
    # with a very low selling price for team 2, the seller is undervaluing the product and hence makes less revenue
    # teams 1 and 3 have the same selling strategy, so should get the same sample mean revenue
    assert mean_revenue[2] == mean_revenue[0] and mean_revenue[0] > mean_revenue[1]
    assert np.all(mean_revenue > 0.)
    # with a very low selling price for team 2, the buyer is making a good deal a lot of the time and has higher
    # consumer surplus, on average
    assert mean_cs[0] > mean_cs[1]
    assert np.all(mean_cs > 0.)