Пример #1
0
    def test_remove_by_type(self):
        RecordPrototype.create(type=relations.RECORD_TYPE.TEST_INT, date=self.date, value_int=41.7)
        record = RecordPrototype.create(type=relations.RECORD_TYPE.TEST_FLOAT, date=self.date, value_float=66.6)

        RecordPrototype.remove_by_type(relations.RECORD_TYPE.TEST_INT)

        self.assertEqual(list(RecordPrototype._db_all().values_list('id', flat=True)), [record.id])
Пример #2
0
    def test_select__int(self):
        dates = [self.date + self.timedelta * i for i in range(4)]

        RecordPrototype.create(type=relations.RECORD_TYPE.TEST_INT, date=dates[1], value_int=417)
        RecordPrototype.create(type=relations.RECORD_TYPE.TEST_INT, date=dates[2], value_int=666)

        self.assertEqual(
            RecordPrototype.select(type=relations.RECORD_TYPE.TEST_INT, date_from=dates[0], date_to=dates[3]),
            [(dates[1], 417), (dates[2], 666)],
        )
        self.assertEqual(
            RecordPrototype.select(type=relations.RECORD_TYPE.TEST_INT, date_from=dates[1], date_to=dates[2]),
            [(dates[1], 417), (dates[2], 666)],
        )
        self.assertEqual(
            RecordPrototype.select(type=relations.RECORD_TYPE.TEST_INT, date_from=dates[1], date_to=dates[1]),
            [(dates[1], 417)],
        )
        self.assertEqual(
            RecordPrototype.select(type=relations.RECORD_TYPE.TEST_INT, date_from=dates[2], date_to=dates[2]),
            [(dates[2], 666)],
        )
        self.assertEqual(
            RecordPrototype.select(type=relations.RECORD_TYPE.TEST_INT, date_from=dates[3], date_to=dates[3]), []
        )
Пример #3
0
    def test_select__float(self):
        date_1 = datetime.datetime.now()
        date_2 = datetime.datetime.now()
        date_3 = datetime.datetime.now()
        date_4 = datetime.datetime.now()

        RecordPrototype.create(type=relations.RECORD_TYPE.TEST_FLOAT, date=date_2, value_float=41.7)
        RecordPrototype.create(type=relations.RECORD_TYPE.TEST_FLOAT, date=date_3, value_float=66.6)

        self.assertEqual(RecordPrototype.select(type=relations.RECORD_TYPE.TEST_FLOAT, date_from=date_1, date_to=date_4), [(date_2, 41.7), (date_3, 66.6)])
        self.assertEqual(RecordPrototype.select(type=relations.RECORD_TYPE.TEST_FLOAT, date_from=date_2, date_to=date_3), [(date_2, 41.7), (date_3, 66.6)])
        self.assertEqual(RecordPrototype.select(type=relations.RECORD_TYPE.TEST_FLOAT, date_from=date_2, date_to=date_2), [(date_2, 41.7)])
        self.assertEqual(RecordPrototype.select(type=relations.RECORD_TYPE.TEST_FLOAT, date_from=date_3, date_to=date_3), [(date_3, 66.6)])
        self.assertEqual(RecordPrototype.select(type=relations.RECORD_TYPE.TEST_FLOAT, date_from=date_4, date_to=date_4), [])
Пример #4
0
    def test_create(self):

        with self.check_delta(RecordPrototype._db_count, 1):
            record = RecordPrototype.create(type=relations.RECORD_TYPE.TEST_INT,
                                            date=self.date,
                                            value_int=666, value_float=666.6)

        record.reload()

        self.assertTrue(record.type.is_TEST_INT)
        self.assertEqual(record.date, self.date)
        self.assertEqual(record.value_int, 666)
        self.assertEqual(record.value_float, 666.6)
Пример #5
0
 def store_value(self, date, value):
     return RecordPrototype.create(
         type=self.TYPE,
         date=date,
         value_int=value if self.TYPE.value_type.is_INT else None,
         value_float=value if self.TYPE.value_type.is_FLOAT else None)
Пример #6
0
    def test_create__float_specified(self):
        record = RecordPrototype.create(type=relations.RECORD_TYPE.TEST_INT, date=self.date, value_int=666)

        record.reload()

        self.assertEqual(record.value_float, 666.0)
Пример #7
0
 def store_value(self, date, value):
     return RecordPrototype.create(type=self.TYPE,
                                   date=date,
                                   value_int=value if self.TYPE.value_type.is_INT else None,
                                   value_float=value if self.TYPE.value_type.is_FLOAT else None)