diff --git a/src/sherlock/models.py b/src/sherlock/models.py index 1e2f7b2..394811b 100644 --- a/src/sherlock/models.py +++ b/src/sherlock/models.py @@ -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: diff --git a/src/sherlock/tests.py b/src/sherlock/tests.py index ad003c2..236a85b 100644 --- a/src/sherlock/tests.py +++ b/src/sherlock/tests.py @@ -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)