From 495ee2a184a9a68eec45ada6a3600dac2e35f716 Mon Sep 17 00:00:00 2001 From: Omar Shykhkerimov Date: Fri, 27 May 2016 16:00:48 +0300 Subject: [PATCH] Update tests of YAQL queries Adds tests for initial value of sum() method. Adds tests for isIterable() method. Renames test_split to test_split_where. Change-Id: I898f78481b5d88018b1c9916dbb012c1e4b5e87c --- yaql/tests/test_queries.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/yaql/tests/test_queries.py b/yaql/tests/test_queries.py index b49fc07..310b6e1 100644 --- a/yaql/tests/test_queries.py +++ b/yaql/tests/test_queries.py @@ -111,6 +111,8 @@ class TestQueries(yaql.tests.TestCase): def test_sum(self): data = range(4) self.assertEqual(6, self.eval('$.sum()', data=data)) + self.assertEqual(106, self.eval('$.sum(100)', data=data)) + self.assertEqual(100, self.eval('[].sum(100)')) def test_memorize(self): generator_func = lambda: (i for i in range(3)) @@ -301,7 +303,7 @@ class TestQueries(yaql.tests.TestCase): [[1, 2], [3, 4], [5]], self.eval('range(1, 6).slice(2)')) - def test_split(self): + def test_split_where(self): self.assertEqual( [[], [2, 3], [5]], self.eval('range(1, 6).splitWhere($ mod 3 = 1)')) @@ -461,6 +463,26 @@ class TestQueries(yaql.tests.TestCase): '$.d1.mergeWith($.d2,, min($1, $2))', data={'d1': dict1, 'd2': dict2})) + def test_is_iterable(self): + self.assertEqual( + True, + self.eval('isIterable([])')) + self.assertEqual( + True, + self.eval('isIterable([1,2])')) + self.assertEqual( + True, + self.eval('isIterable(set(1,2))')) + self.assertEqual( + False, + self.eval('isIterable(1)')) + self.assertEqual( + False, + self.eval('isIterable("foo")')) + self.assertEqual( + False, + self.eval('isIterable({"a" => 1})')) + def test_infinite_collections(self): self.assertRaises( exceptions.CollectionTooLargeException,