def test_order_limited_by_influence(self): """ You can't buy more shares than your influence """ o2 = BuyShareOrder(player=self.p, corporation=self.c) self.assertRaises(OrderNotAvailable, o2.clean) self.p.influence.level = 2 self.p.influence.save() # assertNoRaises o2.clean()
def setUp(self): super(OrdersTest, self).setUp() self.c3.delete() self.c.assets = 7 self.c.save() self.c2.assets = 8 self.c2.save() self.o = BuyShareOrder(player=self.p, corporation=self.c) self.o.save()
def test_order_special_cost_for_first_corpo_and_not_citizen(self): """ Share should cost more money when corporation is first """ init_money = self.p.money o2 = BuyShareOrder(player=self.p, corporation=self.c2) o2.save() o2.resolve() self.assertEqual( self.reload(self.p).money, init_money - BuyShareOrder.FIRST_COST * self.c2.assets)
def test_order_special_cost_for_first_corpo_and_citizen(self): """ Order should cost FIRST_AND_CITIZEN_COST rate when corporation is first and we have the citizenship """ self.p.citizenship.corporation = self.c2 self.p.citizenship.save() init_money = self.p.money o2 = BuyShareOrder(player=self.p, corporation=self.c2) o2.save() o2.resolve() self.assertEqual( self.reload(self.p).money, init_money - BuyShareOrder.FIRST_AND_CITIZEN_COST * self.c2.assets)
def test_buy_task_applied(self): """ The player should get dividend for previous share, and this turn order should be resolved """ o = BuyShareOrder( player=self.p, corporation=self.last_corporation ) o.save() self.g.resolve_current_turn() s = Share.objects.all() self.assertEqual(len(s), 1) s = s[0] self.assertEqual(s.player, self.p) self.assertEqual(s.corporation, self.last_corporation) self.assertEqual(s.turn, self.g.current_turn - 1)