-
Notifications
You must be signed in to change notification settings - Fork 13
/
test.py
52 lines (34 loc) · 1.26 KB
/
test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import logging
from auction_system.auction import Auction
from auction_system.auction_house import AuctionHouse
from auction_system.participant import Participant
from auction_system.item import Item
__author__ = "Guillaume Pouilloux <[email protected]>"
logging.getLogger().setLevel(logging.INFO)
# Main test - auction house scenario
def main():
auction_house = AuctionHouse()
guillaume = Participant("Guillaume")
antonin = Participant("Antonin")
painting_name = "Van Gogh's painting"
painting = Item(painting_name, 1000)
auction_painting = Auction(painting)
auction_house.add_auction(auction_painting)
# should fail - auction already added
auction_house.add_auction(auction_painting)
# auction has not been started yet
guillaume.bid(auction_painting, 101)
auction_painting.start()
guillaume.bid(auction_painting, 101)
antonin.bid(auction_painting, 999)
# guillaume should bid more than 999
guillaume.bid(auction_painting, 102)
guillaume.bid(auction_painting, 1002)
auction_painting.stop()
logging.info(auction_house.latest_auction_by_item_name(painting_name))
# should fail
Auction(painting)
# should fail
auction_painting.start()
if __name__ == '__main__':
main()