Improved query
This commit is contained in:
@@ -156,6 +156,8 @@ class EnumerableQueryTestCase(unittest.TestCase):
|
||||
|
||||
self.assertEqual(len(res), len(results))
|
||||
self.assertEqual(res.element_at(0), s_res)
|
||||
self.assertEqual(res.element_at(0), res.first())
|
||||
self.assertEqual(res.first(), res.first())
|
||||
|
||||
def test_first_or_default(self):
|
||||
results = []
|
||||
|
@@ -151,6 +151,8 @@ class IterableQueryTestCase(unittest.TestCase):
|
||||
|
||||
self.assertEqual(len(res), len(results))
|
||||
self.assertEqual(res[0], s_res)
|
||||
self.assertEqual(res[0], res.first())
|
||||
self.assertEqual(res.first(), res.first())
|
||||
|
||||
def test_first_or_default(self):
|
||||
results = []
|
||||
|
45
unittests/unittests_query/performance_test_case.py
Normal file
45
unittests/unittests_query/performance_test_case.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import sys
|
||||
import timeit
|
||||
import unittest
|
||||
|
||||
from cpl_query.enumerable import Enumerable
|
||||
from cpl_query.extension.list import List
|
||||
from cpl_query.iterable import Iterable
|
||||
|
||||
VALUES = 1000
|
||||
COUNT = 100
|
||||
|
||||
|
||||
class PerformanceTestCase(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
i = 0
|
||||
self.values = []
|
||||
while i < VALUES:
|
||||
self.values.append(i)
|
||||
i += 1
|
||||
|
||||
# def test_range(self):
|
||||
# default = timeit.timeit(lambda: list(self.values), number=COUNT)
|
||||
# enumerable = timeit.timeit(lambda: Enumerable(int, self.values), number=COUNT)
|
||||
# iterable = timeit.timeit(lambda: Iterable(int, self.values), number=COUNT)
|
||||
#
|
||||
# print(f'd: {default}')
|
||||
# print(f'e: {enumerable}')
|
||||
# print(f'i: {iterable}')
|
||||
#
|
||||
# self.assertLess(default, enumerable)
|
||||
# self.assertLess(default, iterable)
|
||||
|
||||
def test_where_single(self):
|
||||
print(Enumerable(int, self.values).where(lambda x: x == COUNT).single_or_default())
|
||||
# default = timeit.timeit(lambda: [x for x in list(self.values) if x == 50], number=COUNT)
|
||||
# enumerable = timeit.timeit(lambda: Enumerable(int, self.values).where(lambda x: x == 50).single(), number=COUNT)
|
||||
# iterable = timeit.timeit(lambda: Iterable(int, self.values).where(lambda x: x == 50).single(), number=COUNT)
|
||||
#
|
||||
# print(f'd: {default}')
|
||||
# print(f'e: {enumerable}')
|
||||
# print(f'i: {iterable}')
|
||||
#
|
||||
# self.assertLess(default, enumerable)
|
||||
# self.assertLess(default, iterable)
|
Reference in New Issue
Block a user