def test_first_offer_is_zero_and_second_is_not_if_offer_not_accepted(self): strategy = BasicAvailabilityWeightedStrategy(DummyBlobAvailabilityTracker()) peer = "1.1.1.1" blobs = strategy.price_model.blob_tracker.availability.keys() offer1 = strategy.make_offer(peer, blobs) offer2 = strategy.make_offer(peer, blobs) self.assertEquals(offer1.rate, 0.0) self.assertNotEqual(offer2.rate, 0.0)
def test_accept_zero_and_persist_if_accepted(self): host_strategy = BasicAvailabilityWeightedStrategy(DummyBlobAvailabilityTracker()) client_strategy = BasicAvailabilityWeightedStrategy(DummyBlobAvailabilityTracker()) client = "1.1.1.1" host = "1.1.1.2" blobs = host_strategy.price_model.blob_tracker.availability.keys() offer = client_strategy.make_offer(host, blobs) response1 = host_strategy.respond_to_offer(offer, client, blobs) client_strategy.update_accepted_offers(host, response1) offer = client_strategy.make_offer(host, blobs) response2 = host_strategy.respond_to_offer(offer, client, blobs) client_strategy.update_accepted_offers(host, response2) self.assertEquals(response1.is_too_low, False) self.assertEquals(response1.is_accepted, True) self.assertEquals(response1.rate, 0.0) self.assertEquals(response2.is_too_low, False) self.assertEquals(response2.is_accepted, True) self.assertEquals(response2.rate, 0.0)
def test_accept_zero_and_persist_if_accepted(self): host_strategy = BasicAvailabilityWeightedStrategy( DummyBlobAvailabilityTracker()) client_strategy = BasicAvailabilityWeightedStrategy( DummyBlobAvailabilityTracker()) client = "1.1.1.1" host = "1.1.1.2" blobs = host_strategy.price_model.blob_tracker.availability.keys() offer = client_strategy.make_offer(host, blobs) response1 = host_strategy.respond_to_offer(offer, client, blobs) client_strategy.update_accepted_offers(host, response1) offer = client_strategy.make_offer(host, blobs) response2 = host_strategy.respond_to_offer(offer, client, blobs) client_strategy.update_accepted_offers(host, response2) self.assertFalse(response1.is_too_low) self.assertTrue(response1.is_accepted) self.assertEqual(response1.rate, 0.0) self.assertFalse(response2.is_too_low) self.assertTrue(response2.is_accepted) self.assertEqual(response2.rate, 0.0)