def test_call_function(self): self._q(query.create_function({ "name": "concat_with_slash", "body": query.query(lambda a, b: query.concat([a, b], "/")) })) self.assertEqual(self._q(query.call(query.function("concat_with_slash"), "a", "b")), "a/b")
def test_reduce(self): data1 = [1, 2, 3, 4, 5, 6, 7, 8, 9] data2 = ["Fauna", "DB", " ", "rocks"] q1 = query.reduce(query.lambda_query(lambda accum, value: query.add(query.var("accum"), query.var("value"))), 0, data1) q2 = query.reduce(query.lambda_query(lambda accum, value: query.concat([query.var("accum"), query.var("value")])), "", data2) self.assertEqual(self._q(q1), 45) self.assertEqual(self._q(q2), "FaunaDB rocks")
def test_query(self): versioned212 = Query({"api_version": "2.12", "lambda": ["a", "b"], "expr": { "concat": [{"var": "a"}, {"var": "b"}], "separator": "/"}}) body212 = self._q(versioned212) body3 = self._q(query.query(lambda a, b: query.concat([a, b], "/"))) versioned3 = Query({"api_version": "4", "lambda": ["a", "b"], "expr": { "concat": [{"var": "a"}, {"var": "b"}], "separator": "/"}}) self.assertEqual(body212, versioned212) self.assertEqual(body3, versioned3)
def test_concat(self): self.assertJson(query.concat(["a", "b"]), '{"concat":["a","b"]}') self.assertJson(query.concat(["a", "b"], "/"), '{"concat":["a","b"],"separator":"/"}')
def test_concat(self): self.assertEqual(self._q(query.concat(["a", "b", "c"])), "abc") self.assertEqual(self._q(query.concat([])), "") self.assertEqual(self._q(query.concat(["a", "b", "c"], ".")), "a.b.c")
def test_echo_query(self): body = self._q(query.query(lambda a, b: query.concat([a, b], "/"))) bodyEchoed = self._q(body) self.assertEqual(body, bodyEchoed)