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'] ordering = ['category']
class Diff(object): class DiffMesure(object):
def __init__(self, mesure_1, mesure_2): def __init__(self, mesure_1, mesure_2):
self.increase = abs(mesure_1.diff(mesure_2)) self.increase = abs(mesure_1.diff(mesure_2))
self.timedelta = abs(mesure_1.moment - mesure_2.moment) self.timedelta = abs(mesure_1.moment - mesure_2.moment)
@ -42,7 +42,7 @@ class Mesure(models.Model):
objects = MesureManager() objects = MesureManager()
def __str__(self): 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): def diff(self, other_mesure):
if self.category != other_mesure.category: 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.test import TestCase
from django.utils import timezone from django.utils import timezone
from .models import Category, Gauge, Mesure from .models import Category, Gauge, Mesure, DiffMesure
class TestCategoryModel(TestCase): class TestCategoryModel(TestCase):
@ -50,6 +50,23 @@ class TestGaugeModel(TestCase):
self.assertEqual(1, len(gauge_1.mesures.all())) 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): class TestMesureManager(TestCase):
def test_create_with_deps(self): def test_create_with_deps(self):
d1 = timezone.make_aware(datetime(2016, 1, 1)) d1 = timezone.make_aware(datetime(2016, 1, 1))
@ -80,12 +97,16 @@ class TestMesureModel(TestCase):
d1 = timezone.make_aware(datetime(2016, 1, 1)) d1 = timezone.make_aware(datetime(2016, 1, 1))
d2 = timezone.make_aware(datetime(2016, 1, 2)) 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_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_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) 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): def test_category_property(self):
self.assertEqual(self.cat_water, self.mesure_1.category) self.assertEqual(self.cat_water, self.mesure_1.category)