def test_valid_bid(self):
   self.assertEqual(is_valid_bid(mock_bid, mock_available_ad_units, mock_site_info), True)
Пример #2
0
output_path = './auction/output.json'

sites_and_bidders = get_valid_config_data(config_path)
sites_dict = create_sites_dict(sites_and_bidders['sites'])
bidders_dict = create_bidders_dict(sites_and_bidders['bidders'])

auctions = get_valid_input_data()

final_results = []

for auction in auctions:
  if is_valid_auction(auction, sites_dict):
    auction_site_info = sites_dict[auction['site']]
    auction_ad_units = auction['units']

    auction_bids_dict = initialize_auction_bids_dict(auction_ad_units)

    for bid in auction['bids']:
      if is_valid_bidder(bid['bidder'], auction_site_info['bidders'], bidders_dict):
        bidder_info = bidders_dict[bid['bidder']]
        bid['adjusted_bid_value'] = calculate_adjusted_bid_value(bid['bid'], bidder_info['adjustment'])

        if is_valid_bid(bid, auction_ad_units, auction_site_info):
          auction_bids_dict[bid['unit']].append(bid)

    final_results.append(get_auction_results(auction_bids_dict))
  else:
    final_results.append([])

display_results(output_path, final_results)
 def test_bid_adjusted_value_less_than_floor(self):
   self.assertEqual(is_valid_bid(mock_bid_adjusted_value_less_than_floor, mock_available_ad_units, mock_site_info), False)
 def test_bid_invalid_ad_unit(self):
   self.assertEqual(is_valid_bid(mock_bid_invalid_ad_unit, mock_available_ad_units, mock_site_info), False)
 def test_with_no_site_info(self):
   self.assertEqual(is_valid_bid(mock_bid, mock_available_ad_units, {}), False)
 def test_with_available_ad_units(self):
   self.assertEqual(is_valid_bid(mock_bid, [], mock_site_info), False)
 def test_with_empty_bid(self):
   self.assertEqual(is_valid_bid({}, mock_available_ad_units, mock_site_info), False)