Beispiel #1
0
    def test_region_autocapital(self):
        """A region that's a capital is automatically owned by the same team"""
        cap = Region.capital_for(0, self.sess)
        self.assertEqual(cap.capital, cap.owner)

        cap = Region.capital_for(1, self.sess)
        self.assertEqual(cap.capital, cap.owner)
Beispiel #2
0
    def test_region_autocapital(self):
        """A region that's a capital is automatically owned by the same team"""
        cap = Region.capital_for(0, self.sess)
        self.assertEqual(cap.capital, cap.owner)

        cap = Region.capital_for(1, self.sess)
        self.assertEqual(cap.capital, cap.owner)
Beispiel #3
0
 def create_user(self, name, team):
     newbie = User(name=name, team=team, loyalists=100, leader=True)
     self.sess.add(newbie)
     cap = Region.capital_for(team, self.sess)
     newbie.region = cap
     self.sess.commit()
     return newbie
Beispiel #4
0
    def test_extract_cancels_movement(self):
        """Emergency movement shouldn't rubberband"""
        sess = self.sess
        cap = Region.capital_for(0, sess)
        # Move Alice somewhere else
        londo = self.get_region("Orange Londo")
        self.alice.move(100, londo, 0)

        # Should be in londo
        self.assertEqual(self.alice.region, londo)

        # Bloodless coup of Sapphire
        sapp = self.get_region("Sapphire")
        sapp.owner = self.alice.team
        sess.commit()

        # Start wandering that way
        order = self.alice.move(100, sapp, 60 * 60 * 24)
        self.assert_(order)

        orders = self.sess.query(MarchingOrder).count()
        self.assertEqual(orders, 1)

        self.alice.extract()
        self.assertEqual(self.alice.region, cap)

        orders = self.sess.query(MarchingOrder).count()
        self.assertEqual(orders, 0)

        # Make sure she ended up in a sector
        self.assertTrue(self.alice.sector)
Beispiel #5
0
    def test_stop_cancels_movement(self):
        """Stopping movement should actually, you know, stop movement"""

        sess = self.sess
        cap = Region.capital_for(0, sess)
        # Move Alice somewhere else
        londo = self.get_region("Orange Londo")
        self.alice.move(100, londo, 0)

        # Should be in londo
        self.assertEqual(self.alice.region, londo)

        # Bloodless coup of Sapphire
        sapp = self.get_region("Sapphire")
        sapp.owner = self.alice.team
        sess.commit()

        # Start wandering that way
        order = self.alice.move(100, sapp, 60 * 60 * 24)
        self.assert_(order)

        orders = self.sess.query(MarchingOrder).count()
        self.assertEqual(orders, 1)

        self.alice.cancel_movement()
        self.assertEqual(self.alice.region, londo)

        orders = self.sess.query(MarchingOrder).count()
        self.assertEqual(orders, 0)
Beispiel #6
0
 def create_user(self, name, team):
     newbie = User(name=name, team=team, loyalists=100, leader=True)
     self.sess.add(newbie)
     cap = Region.capital_for(team, self.sess)
     newbie.region = cap
     self.sess.commit()
     return newbie
Beispiel #7
0
    def test_stop_cancels_movement(self):
        """Stopping movement should actually, you know, stop movement"""

        sess = self.sess
        cap = Region.capital_for(0, sess)
        # Move Alice somewhere else
        londo = self.get_region("Orange Londo")
        self.alice.move(100, londo, 0)

        # Should be in londo
        self.assertEqual(self.alice.region, londo)

        # Bloodless coup of Sapphire
        sapp = self.get_region("Sapphire")
        sapp.owner = self.alice.team
        sess.commit()

        # Start wandering that way
        order = self.alice.move(100, sapp, 60 * 60 * 24)
        self.assert_(order)

        orders = self.sess.query(MarchingOrder).count()
        self.assertEqual(orders, 1)

        self.alice.cancel_movement()
        self.assertEqual(self.alice.region, londo)

        orders = self.sess.query(MarchingOrder).count()
        self.assertEqual(orders, 0)
Beispiel #8
0
    def test_extract_cancels_movement(self):
        """Emergency movement shouldn't rubberband"""
        sess = self.sess
        cap = Region.capital_for(0, sess)
        # Move Alice somewhere else
        londo = self.get_region("Orange Londo")
        self.alice.move(100, londo, 0)

        # Should be in londo
        self.assertEqual(self.alice.region, londo)

        # Bloodless coup of Sapphire
        sapp = self.get_region("Sapphire")
        sapp.owner = self.alice.team
        sess.commit()

        # Start wandering that way
        order = self.alice.move(100, sapp, 60 * 60 * 24)
        self.assert_(order)

        orders = self.sess.query(MarchingOrder).count()
        self.assertEqual(orders, 1)

        self.alice.extract()
        self.assertEqual(self.alice.region, cap)

        orders = self.sess.query(MarchingOrder).count()
        self.assertEqual(orders, 0)

        # Make sure she ended up in a sector
        self.assertTrue(self.alice.sector)
Beispiel #9
0
    def test_sector_movement(self):
        self.conf["game"]["num_sectors"] = 7
        sess = self.sess
        cap = Region.capital_for(0, sess)
        self.assertEqual(self.alice.region.id, cap.id)
        londo = self.get_region("Orange Londo")
        self.assertIsNotNone(londo)

        self.alice.move(100, londo, 0, sector=3, conf=self.conf)
Beispiel #10
0
    def test_sector_movement(self):
        self.conf["game"]["num_sectors"] = 7
        sess = self.sess
        cap = Region.capital_for(0, sess)
        self.assertEqual(self.alice.region.id, cap.id)
        londo = self.get_region("Orange Londo")
        self.assertIsNotNone(londo)

        self.alice.move(100, londo, 0, sector=3, conf=self.conf)
Beispiel #11
0
    def test_movement(self):
        """Move Alice from the Orangered capital to an adjacent region"""
        sess = self.sess
        cap = Region.capital_for(0, sess)
        # First of all, make sure alice is actually there
        self.assertEqual(self.alice.region.id, cap.id)

        londo = self.get_region("Orange Londo")
        self.assertIsNotNone(londo)

        self.alice.move(100, londo, 0)

        # Now she should be there
        self.assertEqual(self.alice.region.id, londo.id)
Beispiel #12
0
    def test_movement(self):
        """Move Alice from the Orangered capital to an adjacent region"""
        sess = self.sess
        cap = Region.capital_for(0, sess)
        # First of all, make sure alice is actually there
        self.assertEqual(self.alice.region.id, cap.id)

        londo = self.get_region("Orange Londo")
        self.assertIsNotNone(londo)

        self.alice.move(100, londo, 0)

        # Now she should be there
        self.assertEqual(self.alice.region.id, londo.id)
Beispiel #13
0
    def test_extract(self):
        """Emergency movement back to capital"""
        sess = self.sess
        cap = Region.capital_for(0, sess)
        # Move Alice somewhere else
        londo = self.get_region("Orange Londo")
        self.alice.move(100, londo, 0)

        # Should be in londo
        self.assertEqual(self.alice.region, londo)
        # Emergency move!
        self.alice.extract()

        # Should be back in capital
        self.assertEqual(self.alice.region, cap)
Beispiel #14
0
    def test_extract(self):
        """Emergency movement back to capital"""
        sess = self.sess
        cap = Region.capital_for(0, sess)
        # Move Alice somewhere else
        londo = self.get_region("Orange Londo")
        self.alice.move(100, londo, 0)

        # Should be in londo
        self.assertEqual(self.alice.region, londo)
        # Emergency move!
        self.alice.extract()

        # Should be back in capital
        self.assertEqual(self.alice.region, cap)
Beispiel #15
0
def main():
    full = "sqlite:///%s" % realpath(sys.argv[1])
    print full
    engine = create_engine(full)
    sessionfactory = sessionmaker(bind=engine)

    session = sessionfactory()

    with open(sys.argv[2], 'r') as f:
        text = f.read()
        print text
        j = json.loads(text)
        for user in j:
            u = User(**user)
            u.region = Region.capital_for(u.team, session)
            session.add(u)
            print "Imported %s" % u.name
        session.commit()
Beispiel #16
0
    def test_default_sector_movement(self):
        self.conf["game"]["num_sectors"] = 7

        # Alice should be in sector 0 by default
        self.assertEqual(self.alice.sector, 0)

        sess = self.sess
        cap = Region.capital_for(0, sess)
        self.assertEqual(self.alice.region.id, cap.id)
        londo = self.get_region("Orange Londo")
        self.assertIsNotNone(londo)

        # This seed means that it'll pick 5.  I deliberately chose a seed that
        # would result in itself.
        random.seed(5)
        self.alice.move(100, londo, 0, conf=self.conf)

        self.assertEqual(self.alice.sector, 5)
Beispiel #17
0
    def test_default_sector_movement(self):
        self.conf["game"]["num_sectors"] = 7

        # Alice should be in sector 0 by default
        self.assertEqual(self.alice.sector, 0)

        sess = self.sess
        cap = Region.capital_for(0, sess)
        self.assertEqual(self.alice.region.id, cap.id)
        londo = self.get_region("Orange Londo")
        self.assertIsNotNone(londo)

        # This seed means that it'll pick 5.  I deliberately chose a seed that
        # would result in itself.
        random.seed(5)
        self.alice.move(100, londo, 0, conf=self.conf)

        self.assertEqual(self.alice.sector, 5)