| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- '''
- Created on 20 nov. 2016
- @author: olinox
- '''
- import unittest
- from core import constants
- from core.geometry import gzone
- class Test(unittest.TestCase):
- """ test the zone algorithm """
- def test_hex_zone(self):
- """ test the zone algo for hexagonal grid """
- geometry = constants.HEX
- self.assertEqual( gzone.zone( geometry, 3, 3, 0 ), [(3,3)])
- self.assertEqual( gzone.zone( geometry, 3, 3, 1 ), [(3, 2), (2, 3), (3, 3), (4, 3), (4, 4), (3, 4), (2, 4)])
- self.assertEqual( gzone.zone( geometry, 3, 3, 2 ), [(3, 2), (1, 3), (5, 4), (4, 5), (1, 4), (2, 3), (4, 2), \
- (2, 5), (5, 3), (1, 2), (3, 5), (3, 3), (4, 4), (3, 1), \
- (4, 3), (2, 2), (3, 4), (2, 4), (5, 2)] )
- def test_squ_zone(self):
- """ test the zone algo for square grid """
- geometry = constants.SQUARE
- self.assertEqual( gzone.zone( geometry, 3, 3, 0 ), [(3,3)])
- self.assertEqual( gzone.zone( geometry, 3, 3, 1 ), [(3, 2), (3, 3), (4, 4), (2, 3), (4, 3), (2, 2), (4, 2), (3, 4), (2, 4)])
- self.assertEqual( gzone.zone( geometry, 3, 3, 2 ), [(2, 4), (3, 2), (5, 4), (1, 3), (4, 5), (2, 1), (1, 4), (2, 3), (4, 2), \
- (5, 1), (2, 5), (3, 5), (5, 3), (1, 2), (3, 3), (5, 5), (4, 4), (3, 1), \
- (1, 5), (4, 3), (2, 2), (4, 1), (5, 2), (3, 4), (1, 1)])
-
- def test_errors(self):
- """test the errors due to bad parameters"""
- self.assertRaises( TypeError, gzone.zone, 5, 0, 0, "a")
- self.assertRaises( TypeError, gzone.zone, 5, "a", 0, 1)
- self.assertRaises( TypeError, gzone.zone, 5, 0, "a", 1)
- self.assertRaises( ValueError, gzone.zone, 5, 0, 0, -1)
- self.assertRaises( ValueError, gzone.zone, -1, 0, 0, 1)
- self.assertRaises( ValueError, gzone.zone, "a", 0, 0, 1)
- if __name__ == "__main__":
- unittest.main()
|