tests diffmesures

This commit is contained in:
Fred Pauchet 2016-08-08 13:18:48 +02:00
parent 6467c2f4ed
commit 705ee062bc
2 changed files with 26 additions and 5 deletions

View File

@ -19,7 +19,7 @@ class Gauge(models.Model):
ordering = ['category']
class Diff(object):
class DiffMesure(object):
def __init__(self, mesure_1, mesure_2):
self.increase = abs(mesure_1.diff(mesure_2))
self.timedelta = abs(mesure_1.moment - mesure_2.moment)
@ -42,7 +42,7 @@ class Mesure(models.Model):
objects = MesureManager()
def __str__(self):
return "{} {}".format(self.moment, self.value)
return "{} {}".format(self.moment.strftime('%Y-%m-%d %H:%M'), self.value)
def diff(self, other_mesure):
if self.category != other_mesure.category:

View File

@ -1,11 +1,11 @@
from datetime import datetime
from datetime import datetime, timedelta
from django.test import TestCase
from django.utils import timezone
from .models import Category, Gauge, Mesure
from .models import Category, Gauge, Mesure, DiffMesure
class TestCategoryModel(TestCase):
@ -50,6 +50,23 @@ class TestGaugeModel(TestCase):
self.assertEqual(1, len(gauge_1.mesures.all()))
class TestDiffMesure(TestCase):
def setUp(self):
d1 = timezone.make_aware(datetime(2016, 1, 1))
d2 = timezone.make_aware(datetime(2016, 2, 1))
self.m1 = Mesure.objects.create_with_deps(d1, 0.001, 'undefined', 'eau')
self.m2 = Mesure.objects.create_with_deps(d2, 0.002, 'undefined', 'eau')
def test_init(self):
diff = DiffMesure(self.m1, self.m2)
td = timedelta(days=31)
self.assertEqual(0.001, diff.increase)
self.assertEqual(td, diff.timedelta)
class TestMesureManager(TestCase):
def test_create_with_deps(self):
d1 = timezone.make_aware(datetime(2016, 1, 1))
@ -80,12 +97,16 @@ class TestMesureModel(TestCase):
d1 = timezone.make_aware(datetime(2016, 1, 1))
d2 = timezone.make_aware(datetime(2016, 1, 2))
d3 = timezone.make_aware(datetime(2016, 1, 3))
d3 = timezone.make_aware(datetime(2016, 1, 3, 23, 58))
self.mesure_1 = Mesure.objects.create(moment=d1, value=0.001, gauge=self.gauge_1)
self.mesure_2 = Mesure.objects.create(moment=d2, value=0.002, gauge=self.gauge_2)
self.mesure_3 = Mesure.objects.create(moment=d3, value=0.003, gauge=self.gauge_1)
def test_str(self):
self.assertEqual('2016-01-01 00:00 0.001', str(self.mesure_1))
self.assertEqual('2016-01-03 23:58 0.003', str(self.mesure_3))
def test_category_property(self):
self.assertEqual(self.cat_water, self.mesure_1.category)