Commenting tests
This commit is contained in:
parent
2837999a5b
commit
1dee72cd15
@ -23,9 +23,16 @@ def mock_place():
|
|||||||
return place
|
return place
|
||||||
|
|
||||||
class ModelTest:
|
class ModelTest:
|
||||||
|
'''
|
||||||
|
Base class for Lostplaces models
|
||||||
|
'''
|
||||||
model_name = None
|
model_name = None
|
||||||
|
|
||||||
def _test_field(self, field_name, field_class):
|
def _test_field(self, field_name, field_class):
|
||||||
|
'''
|
||||||
|
Tests if a field exists under the given name and
|
||||||
|
if the field is of the right type
|
||||||
|
'''
|
||||||
field = self.place._meta.get_field(field_name)
|
field = self.place._meta.get_field(field_name)
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
field,
|
field,
|
||||||
@ -45,6 +52,10 @@ class ModelTest:
|
|||||||
|
|
||||||
|
|
||||||
def _test_char_field(self, field_name, min_length, max_length):
|
def _test_char_field(self, field_name, min_length, max_length):
|
||||||
|
'''
|
||||||
|
Tests if the given field is a char field and if its max_length
|
||||||
|
is in min_length and max_legth
|
||||||
|
'''
|
||||||
field = self._test_field(field_name, models.CharField)
|
field = self._test_field(field_name, models.CharField)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
type(field), models.CharField,
|
type(field), models.CharField,
|
||||||
@ -64,6 +75,14 @@ class ModelTest:
|
|||||||
)
|
)
|
||||||
|
|
||||||
def _test_float_field(self, field_name, min_value=None, max_value=None):
|
def _test_float_field(self, field_name, min_value=None, max_value=None):
|
||||||
|
'''
|
||||||
|
Tests if the field is a floatfield. If min_value and/or max_value are passed,
|
||||||
|
the validators of the field are also checked. The validator list of the field should
|
||||||
|
look like
|
||||||
|
[MinValueValidator, MayValueValidator], if both values are passed,
|
||||||
|
[MinValueValidator] if only min_value is passed,
|
||||||
|
[MaxValueValidator] if only max_value is passed
|
||||||
|
'''
|
||||||
field = self._test_field(field_name, models.FloatField)
|
field = self._test_field(field_name, models.FloatField)
|
||||||
if min_value:
|
if min_value:
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
@ -143,6 +162,10 @@ class PlaceTestCase(ModelTest, TestSubmittable, TestCase):
|
|||||||
self._test_field('tags', TaggableManager)
|
self._test_field('tags', TaggableManager)
|
||||||
|
|
||||||
def test_average_latlon(self):
|
def test_average_latlon(self):
|
||||||
|
'''
|
||||||
|
Tests the average latitude/longitude calculation of a list
|
||||||
|
of 10 places
|
||||||
|
'''
|
||||||
place_list = []
|
place_list = []
|
||||||
for i in range(10):
|
for i in range(10):
|
||||||
place = mock_place()
|
place = mock_place()
|
||||||
@ -163,6 +186,10 @@ class PlaceTestCase(ModelTest, TestSubmittable, TestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def test_average_latlon_one_place(self):
|
def test_average_latlon_one_place(self):
|
||||||
|
'''
|
||||||
|
Tests the average latitude/longitude calculation of a list
|
||||||
|
of one place
|
||||||
|
'''
|
||||||
place = mock_place()
|
place = mock_place()
|
||||||
avg_latlon = Place.average_latlon([place])
|
avg_latlon = Place.average_latlon([place])
|
||||||
self.assertEqual(avg_latlon[0], place.latitude,
|
self.assertEqual(avg_latlon[0], place.latitude,
|
||||||
@ -177,6 +204,10 @@ class PlaceTestCase(ModelTest, TestSubmittable, TestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def test_average_latlon_no_places(self):
|
def test_average_latlon_no_places(self):
|
||||||
|
'''
|
||||||
|
Tests the average latitude/longitude calculation of
|
||||||
|
an empty list
|
||||||
|
'''
|
||||||
avg_latlon = Place.average_latlon([])
|
avg_latlon = Place.average_latlon([])
|
||||||
self.assertEqual(avg_latlon[0], 0,
|
self.assertEqual(avg_latlon[0], 0,
|
||||||
msg='%s: (no places) average latitude missmatch' % (
|
msg='%s: (no places) average latitude missmatch' % (
|
||||||
|
Loading…
Reference in New Issue
Block a user