tests diffmesures
This commit is contained in:
parent
6467c2f4ed
commit
705ee062bc
|
@ -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:
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue