change Mesure to Measure
This commit is contained in:
parent
7477a35001
commit
105c4f96d0
|
@ -60,7 +60,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 1,
|
||||
"fields": {
|
||||
"moment": "2016-08-02T19:22:42Z",
|
||||
|
@ -69,7 +69,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 2,
|
||||
"fields": {
|
||||
"moment": "2016-08-03T19:22:56Z",
|
||||
|
@ -78,7 +78,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 3,
|
||||
"fields": {
|
||||
"moment": "2016-08-04T19:24:18Z",
|
||||
|
@ -87,7 +87,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 4,
|
||||
"fields": {
|
||||
"moment": "2016-08-02T19:25:06Z",
|
||||
|
@ -96,7 +96,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 5,
|
||||
"fields": {
|
||||
"moment": "2016-08-03T19:25:37Z",
|
||||
|
@ -105,7 +105,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 6,
|
||||
"fields": {
|
||||
"moment": "2016-08-04T19:27:02Z",
|
||||
|
@ -114,7 +114,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 7,
|
||||
"fields": {
|
||||
"moment": "2016-08-02T19:43:01Z",
|
||||
|
@ -123,7 +123,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 8,
|
||||
"fields": {
|
||||
"moment": "2016-08-03T19:43:45Z",
|
||||
|
@ -132,7 +132,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 9,
|
||||
"fields": {
|
||||
"moment": "2016-08-04T19:44:08Z",
|
||||
|
@ -141,7 +141,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 13,
|
||||
"fields": {
|
||||
"moment": "2016-09-27T20:00:00Z",
|
||||
|
@ -150,7 +150,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 14,
|
||||
"fields": {
|
||||
"moment": "2016-09-27T20:00:00Z",
|
||||
|
@ -159,7 +159,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"model": "sherlock.mesure",
|
||||
"model": "sherlock.measure",
|
||||
"pk": 15,
|
||||
"fields": {
|
||||
"moment": "2016-09-27T20:00:00Z",
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
from django.contrib import admin
|
||||
|
||||
|
||||
from .models import Category, Gauge, Mesure
|
||||
from .models import Category, Gauge, Measure
|
||||
|
||||
|
||||
class MesureAdmin(admin.ModelAdmin):
|
||||
model = Mesure
|
||||
class MeasureAdmin(admin.ModelAdmin):
|
||||
model = Measure
|
||||
|
||||
list_display = ('__str__', 'value', 'category')
|
||||
list_filter = ('gauge__category',)
|
||||
|
||||
admin.site.register(Category)
|
||||
admin.site.register(Gauge)
|
||||
admin.site.register(Mesure, MesureAdmin)
|
||||
admin.site.register(Measure, MeasureAdmin)
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.10.5 on 2017-02-10 20:13
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('sherlock', '0002_auto_20170209_1944'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Measure',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('moment', models.DateTimeField()),
|
||||
('value', models.DecimalField(decimal_places=4, max_digits=10)),
|
||||
('gauge', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='measures', to='sherlock.Gauge')),
|
||||
],
|
||||
options={
|
||||
'ordering': ('-moment',),
|
||||
},
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='mesure',
|
||||
name='gauge',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Mesure',
|
||||
),
|
||||
]
|
|
@ -19,27 +19,27 @@ class Gauge(models.Model):
|
|||
ordering = ['category']
|
||||
|
||||
|
||||
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)
|
||||
class DiffMeasure(object):
|
||||
def __init__(self, measure_1, measure_2):
|
||||
self.increase = abs(measure_1.diff(measure_2))
|
||||
self.timedelta = abs(measure_1.moment - measure_2.moment)
|
||||
|
||||
|
||||
class MesureManager(models.Manager):
|
||||
class MeasureManager(models.Manager):
|
||||
def create_with_deps(self, moment, value, gauge_sn, category_label):
|
||||
cat, cat_created = Category.objects.get_or_create(name=category_label)
|
||||
gauge, gauge_created = Gauge.objects.get_or_create(serial_number=gauge_sn, category=cat)
|
||||
mesure = Mesure.objects.create(moment=moment, value=value, gauge=gauge)
|
||||
measure = Measure.objects.create(moment=moment, value=value, gauge=gauge)
|
||||
|
||||
return mesure
|
||||
return measure
|
||||
|
||||
|
||||
class Mesure(models.Model):
|
||||
class Measure(models.Model):
|
||||
moment = models.DateTimeField()
|
||||
value = models.DecimalField(max_digits=10, decimal_places=4)
|
||||
gauge = models.ForeignKey(Gauge, related_name='mesures')
|
||||
gauge = models.ForeignKey(Gauge, related_name='measures')
|
||||
|
||||
objects = MesureManager()
|
||||
objects = MeasureManager()
|
||||
|
||||
class Meta:
|
||||
ordering = ('-moment',)
|
||||
|
@ -47,11 +47,11 @@ class Mesure(models.Model):
|
|||
def __str__(self):
|
||||
return "{} {}".format(self.moment.strftime('%Y-%m-%d %H:%M'), self.value)
|
||||
|
||||
def diff(self, other_mesure):
|
||||
if self.category != other_mesure.category:
|
||||
def diff(self, other_measure):
|
||||
if self.category != other_measure.category:
|
||||
raise Exception('Cannot diff on two different categories')
|
||||
|
||||
return self.value - other_mesure.value
|
||||
return self.value - other_measure.value
|
||||
|
||||
@property
|
||||
def category(self):
|
||||
|
@ -60,13 +60,13 @@ class Mesure(models.Model):
|
|||
@property
|
||||
def previous(self):
|
||||
try:
|
||||
return self.gauge.mesures.filter(moment__lt=self.moment).order_by('-moment')[0]
|
||||
return self.gauge.measures.filter(moment__lt=self.moment).order_by('-moment')[0]
|
||||
except IndexError:
|
||||
return None
|
||||
|
||||
@property
|
||||
def next(self):
|
||||
try:
|
||||
return self.gauge.mesures.filter(moment__gt=self.moment).order_by('moment')[0]
|
||||
return self.gauge.measures.filter(moment__gt=self.moment).order_by('moment')[0]
|
||||
except IndexError:
|
||||
return None
|
||||
|
|
|
@ -5,7 +5,7 @@ from django.test import TestCase
|
|||
from django.utils import timezone
|
||||
|
||||
|
||||
from .models import Category, Gauge, Mesure, DiffMesure
|
||||
from .models import Category, Gauge, Measure, DiffMeasure
|
||||
|
||||
|
||||
class TestCategoryModel(TestCase):
|
||||
|
@ -40,26 +40,26 @@ class TestGaugeModel(TestCase):
|
|||
self.assertEqual(gauge_2, gauges_list[2])
|
||||
self.assertEqual(gauge_3, gauges_list[3])
|
||||
|
||||
def test_mesures_related_name(self):
|
||||
def test_measures_related_name(self):
|
||||
now = timezone.make_aware(datetime.now())
|
||||
|
||||
cat_water = Category.objects.create(name='eau')
|
||||
gauge_1 = Gauge.objects.create(serial_number='undefined', category=cat_water)
|
||||
self.mesure_1 = Mesure.objects.create(moment=now, value=0.001, gauge=gauge_1)
|
||||
self.measure_1 = Measure.objects.create(moment=now, value=0.001, gauge=gauge_1)
|
||||
|
||||
self.assertEqual(1, len(gauge_1.mesures.all()))
|
||||
self.assertEqual(1, len(gauge_1.measures.all()))
|
||||
|
||||
|
||||
class TestDiffMesure(TestCase):
|
||||
class TestDiffMeasure(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')
|
||||
self.m1 = Measure.objects.create_with_deps(d1, 0.001, 'undefined', 'eau')
|
||||
self.m2 = Measure.objects.create_with_deps(d2, 0.002, 'undefined', 'eau')
|
||||
|
||||
def test_init(self):
|
||||
diff = DiffMesure(self.m1, self.m2)
|
||||
diff = DiffMeasure(self.m1, self.m2)
|
||||
|
||||
td = timedelta(days=31)
|
||||
|
||||
|
@ -67,12 +67,12 @@ class TestDiffMesure(TestCase):
|
|||
self.assertEqual(td, diff.timedelta)
|
||||
|
||||
|
||||
class TestMesureManager(TestCase):
|
||||
class TestMeasureManager(TestCase):
|
||||
def test_create_with_deps(self):
|
||||
d1 = timezone.make_aware(datetime(2016, 1, 1))
|
||||
d2 = timezone.make_aware(datetime(2016, 2, 1))
|
||||
|
||||
m1 = Mesure.objects.create_with_deps(d1, 0.001, 'undefined', 'eau')
|
||||
m1 = Measure.objects.create_with_deps(d1, 0.001, 'undefined', 'eau')
|
||||
|
||||
cat = Category.objects.get(name='eau')
|
||||
gauge = Gauge.objects.get(serial_number='undefined')
|
||||
|
@ -80,13 +80,13 @@ class TestMesureManager(TestCase):
|
|||
self.assertEqual(cat, m1.category)
|
||||
self.assertEqual(gauge, m1.gauge)
|
||||
|
||||
m2 = Mesure.objects.create_with_deps(d2, 0.002, 'undefined', 'eau')
|
||||
m2 = Measure.objects.create_with_deps(d2, 0.002, 'undefined', 'eau')
|
||||
|
||||
self.assertEqual(cat, m2.category)
|
||||
self.assertEqual(gauge, m2.gauge)
|
||||
|
||||
|
||||
class TestMesureModel(TestCase):
|
||||
class TestMeasureModel(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.cat_water = Category.objects.create(name='eau')
|
||||
|
@ -99,30 +99,30 @@ class TestMesureModel(TestCase):
|
|||
d2 = timezone.make_aware(datetime(2016, 1, 2))
|
||||
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)
|
||||
self.measure_1 = Measure.objects.create(moment=d1, value=0.001, gauge=self.gauge_1)
|
||||
self.measure_2 = Measure.objects.create(moment=d2, value=0.002, gauge=self.gauge_2)
|
||||
self.measure_3 = Measure.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))
|
||||
self.assertEqual('2016-01-01 00:00 0.001', str(self.measure_1))
|
||||
self.assertEqual('2016-01-03 23:58 0.003', str(self.measure_3))
|
||||
|
||||
def test_category_property(self):
|
||||
self.assertEqual(self.cat_water, self.mesure_1.category)
|
||||
self.assertEqual(self.cat_water, self.measure_1.category)
|
||||
|
||||
def test_diff_value(self):
|
||||
self.assertEqual(0.002, self.mesure_3.diff(self.mesure_1))
|
||||
self.assertEqual(-0.002, self.mesure_1.diff(self.mesure_3))
|
||||
self.assertEqual(0.002, self.measure_3.diff(self.measure_1))
|
||||
self.assertEqual(-0.002, self.measure_1.diff(self.measure_3))
|
||||
|
||||
def test_diff_raises_exception(self):
|
||||
|
||||
with self.assertRaises(Exception):
|
||||
self.mesure_1.diff(self.mesure_2)
|
||||
self.measure_1.diff(self.measure_2)
|
||||
|
||||
def test_previous(self):
|
||||
self.assertEqual(self.mesure_1, self.mesure_3.previous)
|
||||
self.assertIsNone(self.mesure_1.previous)
|
||||
self.assertEqual(self.measure_1, self.measure_3.previous)
|
||||
self.assertIsNone(self.measure_1.previous)
|
||||
|
||||
def test_next(self):
|
||||
self.assertEqual(self.mesure_3, self.mesure_1.next)
|
||||
self.assertIsNone(self.mesure_3.next)
|
||||
self.assertEqual(self.measure_3, self.measure_1.next)
|
||||
self.assertIsNone(self.measure_3.next)
|
||||
|
|
Loading…
Reference in New Issue