Updated docs

This commit is contained in:
2023-02-20 15:55:20 +01:00
parent 48d0daabf5
commit 9e28dce5ce
632 changed files with 10917 additions and 6775 deletions

View File

@@ -1 +1 @@
# imports:
# imports:

View File

@@ -9,32 +9,18 @@ from unittests_query.models import User, Address
class EnumerableQueryTestCase(unittest.TestCase):
def setUp(self) -> None:
users = []
for i in range(0, 100):
users.append(User(
String.random_string(string.ascii_letters, 8).lower(),
Address(
String.random_string(string.ascii_letters, 10).lower(),
randint(1, 10)
users.append(
User(
String.random_string(string.ascii_letters, 8).lower(),
Address(String.random_string(string.ascii_letters, 10).lower(), randint(1, 10)),
)
))
)
self._t_user = User(
'Test user',
Address(
'teststr.',
15
)
)
self._t_user2 = User(
'Test user',
Address(
'teststr.',
14
)
)
self._t_user = User("Test user", Address("teststr.", 15))
self._t_user2 = User("Test user", Address("teststr.", 14))
users.append(self._t_user)
users.append(self._t_user2)
@@ -76,7 +62,7 @@ class EnumerableQueryTestCase(unittest.TestCase):
self.assertEqual(avg, res)
def invalid():
tests = Enumerable(str, ['hello', 'world'])
tests = Enumerable(str, ["hello", "world"])
e_res = tests.average()
self.assertRaises(InvalidTypeException, invalid)
@@ -172,10 +158,7 @@ class EnumerableQueryTestCase(unittest.TestCase):
def test_for_each(self):
users = []
self._tests.for_each(lambda user: (
users.append(user)
)
)
self._tests.for_each(lambda user: (users.append(user)))
self.assertEqual(len(users), len(self._tests))
@@ -187,7 +170,7 @@ class EnumerableQueryTestCase(unittest.TestCase):
self.assertEqual(99, tests.max())
def invalid():
tests = Enumerable(str, ['hello', 'world'])
tests = Enumerable(str, ["hello", "world"])
e_res = tests.average()
self.assertRaises(InvalidTypeException, invalid)
@@ -200,7 +183,7 @@ class EnumerableQueryTestCase(unittest.TestCase):
self.assertEqual(0, tests.min())
def invalid():
tests = Enumerable(str, ['hello', 'world'])
tests = Enumerable(str, ["hello", "world"])
e_res = tests.average()
self.assertRaises(InvalidTypeException, invalid)
@@ -238,7 +221,11 @@ class EnumerableQueryTestCase(unittest.TestCase):
self.assertEqual(res, s_res)
def test_then_by_descending(self):
res = self._tests.order_by_descending(lambda user: user.address.street).then_by_descending(lambda user: user.address.nr).to_list()
res = (
self._tests.order_by_descending(lambda user: user.address.street)
.then_by_descending(lambda user: user.address.nr)
.to_list()
)
s_res = self._tests.to_list()
s_res.sort(key=lambda user: (user.address.street, user.address.nr), reverse=True)
@@ -268,7 +255,10 @@ class EnumerableQueryTestCase(unittest.TestCase):
selected_range = range_list.select(lambda x: [x, x])
self.assertEqual(selected_range.to_list(), [[x, x] for x in range(0, 100)])
self.assertEqual(selected_range.select_many(lambda x: x).to_list(), [_x for _l in [2 * [x] for x in range(0, 100)] for _x in _l])
self.assertEqual(
selected_range.select_many(lambda x: x).to_list(),
[_x for _l in [2 * [x] for x in range(0, 100)] for _x in _l],
)
class TestClass:
def __init__(self, i, is_sub=False):
@@ -323,7 +313,7 @@ class EnumerableQueryTestCase(unittest.TestCase):
self.assertEqual(0, tests.min())
def invalid():
tests2 = Enumerable(str, ['hello', 'world'])
tests2 = Enumerable(str, ["hello", "world"])
e_res = tests2.average()
self.assertRaises(InvalidTypeException, invalid)

View File

@@ -4,13 +4,12 @@ from cpl_query.enumerable.enumerable import Enumerable
class EnumerableTestCase(unittest.TestCase):
def setUp(self) -> None:
self._list = Enumerable(int, list(range(1, 4)))
def test_append(self):
self.assertEqual(self._list.to_list(), [1, 2, 3])
self.assertRaises(Exception, lambda v: self._list.add(v), '3')
self.assertRaises(Exception, lambda v: self._list.add(v), "3")
def test_default(self):
self.assertEqual(Enumerable.empty().to_list(), [])

View File

@@ -10,23 +10,10 @@ from unittests_query.models import User, Address
class IterableQueryTestCase(unittest.TestCase):
def setUp(self) -> None:
self._tests = List(User)
self._t_user = User(
'Test user',
Address(
'teststr.',
15
)
)
self._t_user2 = User(
'Test user',
Address(
'teststr.',
14
)
)
self._t_user = User("Test user", Address("teststr.", 15))
self._t_user2 = User("Test user", Address("teststr.", 14))
self._generate_test_data()
@@ -34,10 +21,7 @@ class IterableQueryTestCase(unittest.TestCase):
for i in range(0, 100):
user = User(
String.random_string(string.ascii_letters, 8).lower(),
Address(
String.random_string(string.ascii_letters, 10).lower(),
randint(1, 10)
)
Address(String.random_string(string.ascii_letters, 10).lower(), randint(1, 10)),
)
self._tests.append(user)
@@ -80,7 +64,7 @@ class IterableQueryTestCase(unittest.TestCase):
self.assertEqual(avg, res)
def invalid():
tests = List(str, ['hello', 'world'])
tests = List(str, ["hello", "world"])
e_res = tests.average()
self.assertRaises(InvalidTypeException, invalid)
@@ -204,10 +188,7 @@ class IterableQueryTestCase(unittest.TestCase):
def test_for_each(self):
users = []
self._tests.for_each(lambda user: (
users.append(user)
)
)
self._tests.for_each(lambda user: (users.append(user)))
self.assertEqual(len(users), len(self._tests))
@@ -219,7 +200,7 @@ class IterableQueryTestCase(unittest.TestCase):
self.assertEqual(99, tests.max())
def invalid():
tests = List(str, ['hello', 'world'])
tests = List(str, ["hello", "world"])
e_res = tests.average()
self.assertRaises(InvalidTypeException, invalid)
@@ -232,7 +213,7 @@ class IterableQueryTestCase(unittest.TestCase):
self.assertEqual(0, tests.min())
def invalid():
tests = List(str, ['hello', 'world'])
tests = List(str, ["hello", "world"])
e_res = tests.average()
self.assertRaises(InvalidTypeException, invalid)
@@ -270,7 +251,11 @@ class IterableQueryTestCase(unittest.TestCase):
self.assertEqual(res, s_res)
def test_then_by_descending(self):
res = self._tests.order_by_descending(lambda user: user.address.street).then_by_descending(lambda user: user.address.nr).to_list()
res = (
self._tests.order_by_descending(lambda user: user.address.street)
.then_by_descending(lambda user: user.address.nr)
.to_list()
)
s_res = self._tests.to_list()
s_res.sort(key=lambda user: (user.address.street, user.address.nr), reverse=True)
@@ -300,7 +285,10 @@ class IterableQueryTestCase(unittest.TestCase):
selected_range = range_list.select(lambda x: [x, x])
self.assertEqual(selected_range.to_list(), [[x, x] for x in range(0, 100)])
self.assertEqual(selected_range.select_many(lambda x: x).to_list(), [_x for _l in [2 * [x] for x in range(0, 100)] for _x in _l])
self.assertEqual(
selected_range.select_many(lambda x: x).to_list(),
[_x for _l in [2 * [x] for x in range(0, 100)] for _x in _l],
)
class TestClass:
def __init__(self, i, is_sub=False):
@@ -342,7 +330,7 @@ class IterableQueryTestCase(unittest.TestCase):
self.assertEqual(skipped.to_list(), self._tests[:-5])
self.assertEqual(skipped.last(), self._tests[:-5][len(self._tests[:-5]) - 1])
def test_sum(self) -> List['int']:
def test_sum(self) -> List["int"]:
res = self._tests.sum(lambda u: u.address.nr)
s_res = 0
@@ -355,7 +343,7 @@ class IterableQueryTestCase(unittest.TestCase):
self.assertEqual(0, tests.min())
def invalid():
tests2 = List(str, ['hello', 'world'])
tests2 = List(str, ["hello", "world"])
e_res = tests2.average()
self.assertRaises(InvalidTypeException, invalid)

View File

@@ -4,7 +4,6 @@ from cpl_query.extension.list import List
class IterableTestCase(unittest.TestCase):
def setUp(self) -> None:
self._list = List(int)
@@ -18,7 +17,7 @@ class IterableTestCase(unittest.TestCase):
self._list.append(3)
self.assertEqual(self._list.to_list(), [1, 2, 3])
self.assertRaises(Exception, lambda v: self._list.append(v), '3')
self.assertRaises(Exception, lambda v: self._list.append(v), "3")
def test_assign(self):
self._list.append(1)
@@ -32,4 +31,4 @@ class IterableTestCase(unittest.TestCase):
del self._list[3]
self.assertEqual(self._list.to_list(), [1, 2, 3])
self.assertRaises(Exception, lambda v: self._list.append(v), '3')
self.assertRaises(Exception, lambda v: self._list.append(v), "3")

View File

@@ -1,18 +1,16 @@
class User:
def __init__(self, name, address):
self.name = name
self.address = address
def __repr__(self):
return f'<{type(self).__name__} {self.name} {self.address}>'
return f"<{type(self).__name__} {self.name} {self.address}>"
class Address:
def __init__(self, street, nr):
self.street = street
self.nr = nr
def __repr__(self):
return f'<{type(self).__name__} {self.street} {self.nr}>'
return f"<{type(self).__name__} {self.street} {self.nr}>"

View File

@@ -10,7 +10,6 @@ COUNT = 50
class PerformanceTestCase(unittest.TestCase):
def setUp(self):
i = 0
self.values = []
@@ -23,10 +22,10 @@ class PerformanceTestCase(unittest.TestCase):
iterable = timeit.timeit(lambda: Iterable.range(0, VALUES), number=COUNT)
enumerable = timeit.timeit(lambda: Enumerable.range(0, VALUES), number=COUNT)
print('Range')
print(f'd: {default}s')
print(f'i: {iterable}s')
print(f'e: {enumerable}s')
print("Range")
print(f"d: {default}s")
print(f"i: {iterable}s")
print(f"e: {enumerable}s")
self.assertAlmostEqual(round(default, 3), round(enumerable, 3))
self.assertAlmostEqual(round(default, 3), round(iterable, 3))
@@ -36,17 +35,16 @@ class PerformanceTestCase(unittest.TestCase):
iterable = timeit.timeit(lambda: Iterable.range(0, VALUES).where(lambda x: x == 50).single(), number=COUNT)
enumerable = timeit.timeit(lambda: Enumerable.range(0, VALUES).where(lambda x: x == 50).single(), number=COUNT)
print('Where single')
print(f'd: {default}s')
print(f'i: {iterable}s')
print(f'e: {enumerable}s')
print("Where single")
print(f"d: {default}s")
print(f"i: {iterable}s")
print(f"e: {enumerable}s")
self.assertLess(default, enumerable)
self.assertLess(default, iterable)
def test_where_single_complex(self):
class TestModel:
def __init__(self, v, tm=None):
self.value = v
self.tm = tm
@@ -56,13 +54,17 @@ class PerformanceTestCase(unittest.TestCase):
values.append(TestModel(i, TestModel(i + 1)))
default = timeit.timeit(lambda: [x for x in values if x.tm.value == 50], number=COUNT)
iterable = timeit.timeit(lambda: Iterable(TestModel, values).where(lambda x: x.tm.value == 50).single(), number=COUNT)
enumerable = timeit.timeit(lambda: Enumerable(TestModel, values).where(lambda x: x.tm.value == 50).single(), number=COUNT)
iterable = timeit.timeit(
lambda: Iterable(TestModel, values).where(lambda x: x.tm.value == 50).single(), number=COUNT
)
enumerable = timeit.timeit(
lambda: Enumerable(TestModel, values).where(lambda x: x.tm.value == 50).single(), number=COUNT
)
print('Complex where single')
print(f'd: {default}s')
print(f'i: {iterable}s')
print(f'e: {enumerable}s')
print("Complex where single")
print(f"d: {default}s")
print(f"i: {iterable}s")
print(f"e: {enumerable}s")
self.assertLess(default, enumerable)
self.assertLess(default, iterable)

View File

@@ -8,7 +8,6 @@ from unittests_query.sequence_test_case import SequenceTestCase
class QueryTestSuite(unittest.TestSuite):
def __init__(self):
unittest.TestSuite.__init__(self)

View File

@@ -6,7 +6,6 @@ from cpl_query.iterable import Iterable
class SequenceTestCase(unittest.TestCase):
def test_to_list(self):
_list = List().extend(range(0, 100))
enumerable = Enumerable.range(0, 100)

View File

@@ -2,9 +2,9 @@
"ProjectSettings": {
"Name": "unittest_query",
"Version": {
"Major": "2022",
"Minor": "12",
"Micro": "dev134"
"Major": "2023",
"Minor": "2",
"Micro": "0"
},
"Author": "",
"AuthorEmail": "",
@@ -16,8 +16,8 @@
"LicenseName": "",
"LicenseDescription": "",
"Dependencies": [
"cpl-core>=2022.12.0",
"cpl-query>=2022.12.dev134"
"cpl-core>=2023.2.0",
"cpl-query>=2023.2.0"
],
"PythonVersion": ">=3.10.4",
"PythonPath": {},