Added avg query

This commit is contained in:
2021-07-27 09:26:30 +02:00
parent 0f85d4b9bc
commit e0b7728719
5 changed files with 60 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ import unittest
from random import randint
from cpl.utils import String
from cpl_query.exceptions import InvalidTypeException, WrongTypeException
from cpl_query.extension.list import List
from cpl_query.tests.models import User, Address
@@ -59,6 +60,28 @@ class QueryTest(unittest.TestCase):
self.assertTrue(res)
self.assertFalse(n_res)
def test_avg(self):
avg = 0
for user in self._tests:
avg += user.address.nr
avg = avg / len(self._tests)
res = self._tests.average(int, lambda u: u.address.nr)
self.assertEqual(res, avg)
def test_avg_invalid(self):
def _():
res = self._tests.average(str, lambda u: u.address.nr)
self.assertRaises(InvalidTypeException, _)
def test_avg_wrong(self):
def _():
res = self._tests.average(int, lambda u: u.address.street)
self.assertRaises(WrongTypeException, _)
def test_first(self):
results = []
for user in self._tests: