Example #1
0
	def testAddingAdjacentLocation(self):
		"""test adding an adjacent location for a street area"""
		s = area()
		l = location('Joukkila')
		s.addLocation(l)
		self.assertTrue(s.adjLocs.has_key(l.name))
		self.assertEqual(l, s.adjLocs[l.name])
Example #2
0
	def testDistanceToadjacentArea(self):
		"""test measuring the distance to adjacent area"""
		l = location('location')
		s = area('area')
		l.adjArea = s
		s.addLocation(l)
		d = l.distanceTo('area')
		self.assertEqual(1, d)
Example #3
0
	def testAddingLocation(self):
		"""test adding a location on a board"""
		b = board()
		l = location()
		l.name = 'Location'
		b.addLocation(l)
		self.assertTrue(l.name in b.locs)
		self.assertEqual(l, b.locs[l.name])
Example #4
0
	def testDistanceToLocation(self):
		"""test measuring the distance to a location"""
		s1 = area('street1')
		s2 = area('street2')

		l1 = location('l1')
		l2 = location('l2')
		l3 = location('l3')

		s1.addLocation(l1)
		s1.addLocation(l2)
		s1.addArea(s2)
		s2.addLocation(l3)
		s2.addArea(s1)

		d = s1.distanceTo('l3')
		self.assertEqual(d, 2)
Example #5
0
	def testDistanceToAdjacentLocation(self):
		"""test measuring the distance to an adjacent location"""
		s = area('area')
		l = location('location')
		s.addLocation(l)
		l.adjArea = s
		d = s.distanceTo('location')
		self.assertEqual(d, 1)
Example #6
0
	def testReachableArea(self):
		"""test finding the area reachable from a location"""
		l = location('location')
		s = area('street')
		l.adjArea = s
		s.addLocation(l)
		
		r = l.reachables(1)
		self.assertTrue(s.name in r)
		self.assertTrue(l.name in r)
		self.assertEqual(len(r), 2)
Example #7
0
	def testReachableLocations(self):
		"""test finding reachable locations"""
		s1 = area('street1')
		s2 = area('street2')

		l1 = location('l1')
		l2 = location('l2')
		l3 = location('l3')

		s1.addLocation(l1)
		s1.addLocation(l2)
		s1.addArea(s2)
		s2.addLocation(l3)
		s2.addArea(s1)

		r = s1.reachables(1)
		self.assertEqual(len(r), 4)
		self.assertTrue(l1.name in r)
		self.assertTrue(l2.name in r)
		self.assertTrue(s2.name in r)
		self.assertFalse(l3.name in r)
Example #8
0
	def testDistanceToNowhere(self):
		"""test measuring distance to a place that does not exist"""
		l = location('location')
		self.assertRaises(NoSuchDestinationFromLocationError, l.distanceTo, 'Nowhere')
Example #9
0
	def testDistanceToSelf(self):
		"""test measuring distance to location itself"""
		l = location('location')
		d = l.distanceTo('location')
		self.assertEqual(d, 0)
Example #10
0
def turkuboard():
	"""returns the board of Turku"""

	"""Kartta:

	Student Village	
	  |
	  |
	Riverside -- University Campus
	  |
	  |
	Harbor
	"""

	campus = area('University Campus')
	hill = location('University Hill')
	hill.adjArea = campus
	park = location('Science Park')
	park.adjArea = campus
	sirkkala = location('Sirkkala')
	sirkkala.adjArea = campus
	campus.addLocation(hill)
	campus.addLocation(park)
	campus.addLocation(sirkkala)

	harbor = area('Harbor')
	castle = location('Turku Castle')
	castle.adjArea = harbor
	docks = location('Cargo Docks')
	docks.adjArea = harbor
	terminals = location('Cruiser Terminals')
	terminals.adjArea = harbor
	harbor.addLocation(castle)
	harbor.addLocation(docks)
	harbor.addLocation(terminals)

	river = area('Riverside')
	market = location('Old Marketsquare')
	market.adjArea = river
	church = location('Doom Church')
	church.adjArea = river
	fori = location('Föri the Ferry')
	fori.adjArea = river
	river.addLocation(market)
	river.addLocation(church)
	river.addLocation(fori)
	
	joukkila = area('Student Village')
	caribia = location('Caribia Hotel')
	caribia.adjArea = joukkila
	graveyard = location('Graveyard')
	graveyard.adjArea = joukkila
	pub = location('Pub Three Beers')
	pub.adjArea = joukkila 
	joukkila.addLocation(caribia)
	joukkila.addLocation(graveyard)
	joukkila.addLocation(pub)

	joukkila.addArea(river)
	river.addArea(joukkila)
	river.addArea(campus)
	river.addArea(harbor)
	campus.addArea(river)
	harbor.addArea(river)

	b = board()

	b.streets = {campus.name:campus, harbor.name:harbor, river.name:river, joukkila.name:joukkila}

	b.locs = {hill.name:hill, park.name:park, sirkkala.name:park, \
	castle.name:castle, docks.name:docks, terminals.name:terminals, \
	market.name:market, church.name:church, fori.name:fori, \
	caribia.name:caribia, graveyard.name:graveyard, pub.name:pub}
	
	return b