Skip to content

Commit 0c84d62

Browse files
committed
feat: operator test
1 parent 2488c88 commit 0c84d62

1 file changed

Lines changed: 80 additions & 0 deletions

File tree

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
import unittest
2+
3+
from appwrite.operator import Operator, Condition
4+
5+
class TestOperatorMethods(unittest.TestCase):
6+
7+
def test_increment(self):
8+
self.assertEqual(Operator.increment(1), '{"method":"increment","values":[1]}')
9+
10+
def test_increment_with_max(self):
11+
self.assertEqual(Operator.increment(5, 100), '{"method":"increment","values":[5,100]}')
12+
13+
def test_decrement(self):
14+
self.assertEqual(Operator.decrement(1), '{"method":"decrement","values":[1]}')
15+
16+
def test_decrement_with_min(self):
17+
self.assertEqual(Operator.decrement(3, 0), '{"method":"decrement","values":[3,0]}')
18+
19+
def test_multiply(self):
20+
self.assertEqual(Operator.multiply(2), '{"method":"multiply","values":[2]}')
21+
22+
def test_multiply_with_max(self):
23+
self.assertEqual(Operator.multiply(3, 1000), '{"method":"multiply","values":[3,1000]}')
24+
25+
def test_divide(self):
26+
self.assertEqual(Operator.divide(2), '{"method":"divide","values":[2]}')
27+
28+
def test_divide_with_min(self):
29+
self.assertEqual(Operator.divide(4, 1), '{"method":"divide","values":[4,1]}')
30+
31+
def test_modulo(self):
32+
self.assertEqual(Operator.modulo(5), '{"method":"modulo","values":[5]}')
33+
34+
def test_power(self):
35+
self.assertEqual(Operator.power(2), '{"method":"power","values":[2]}')
36+
37+
def test_power_with_max(self):
38+
self.assertEqual(Operator.power(3, 100), '{"method":"power","values":[3,100]}')
39+
40+
def test_array_append(self):
41+
self.assertEqual(Operator.array_append(['item1', 'item2']), '{"method":"arrayAppend","values":["item1","item2"]}')
42+
43+
def test_array_prepend(self):
44+
self.assertEqual(Operator.array_prepend(['first', 'second']), '{"method":"arrayPrepend","values":["first","second"]}')
45+
46+
def test_array_insert(self):
47+
self.assertEqual(Operator.array_insert(0, 'newItem'), '{"method":"arrayInsert","values":[0,"newItem"]}')
48+
49+
def test_array_remove(self):
50+
self.assertEqual(Operator.array_remove('oldItem'), '{"method":"arrayRemove","values":["oldItem"]}')
51+
52+
def test_array_unique(self):
53+
self.assertEqual(Operator.array_unique(), '{"method":"arrayUnique","values":[]}')
54+
55+
def test_array_intersect(self):
56+
self.assertEqual(Operator.array_intersect(['a', 'b', 'c']), '{"method":"arrayIntersect","values":["a","b","c"]}')
57+
58+
def test_array_diff(self):
59+
self.assertEqual(Operator.array_diff(['x', 'y']), '{"method":"arrayDiff","values":["x","y"]}')
60+
61+
def test_array_filter(self):
62+
self.assertEqual(Operator.array_filter(Condition.EQUAL, 'test'), '{"method":"arrayFilter","values":["equal","test"]}')
63+
64+
def test_string_concat(self):
65+
self.assertEqual(Operator.string_concat('suffix'), '{"method":"stringConcat","values":["suffix"]}')
66+
67+
def test_string_replace(self):
68+
self.assertEqual(Operator.string_replace('old', 'new'), '{"method":"stringReplace","values":["old","new"]}')
69+
70+
def test_toggle(self):
71+
self.assertEqual(Operator.toggle(), '{"method":"toggle","values":[]}')
72+
73+
def test_date_add_days(self):
74+
self.assertEqual(Operator.date_add_days(7), '{"method":"dateAddDays","values":[7]}')
75+
76+
def test_date_sub_days(self):
77+
self.assertEqual(Operator.date_sub_days(3), '{"method":"dateSubDays","values":[3]}')
78+
79+
def test_date_set_now(self):
80+
self.assertEqual(Operator.date_set_now(), '{"method":"dateSetNow","values":[]}')

0 commit comments

Comments
 (0)