Skip to content

Commit 378efb5

Browse files
committed
test: query uses uniform api for properties #29
1 parent 46628e7 commit 378efb5

File tree

1 file changed

+32
-31
lines changed

1 file changed

+32
-31
lines changed

tests/test_query.py

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -21,112 +21,113 @@ def test_basics():
2121
box_vector_entity.put(VectorEntity(name="Object 3", vector_euclidean=[3, 3]))
2222

2323
# Id query
24-
id_prop: Property = TestEntity.get_property("id")
25-
query = box_test_entity.query(id_prop.equals(id1)).build()
24+
query = box_test_entity.query(TestEntity.id.equals(id1)).build()
2625
assert query.count() == 1
27-
query = box_test_entity.query(id_prop.greater_than(id1)).build()
26+
query = box_test_entity.query(TestEntity.id.greater_than(id1)).build()
2827
assert query.count() == 1
29-
query = box_test_entity.query(id_prop.greater_or_equal(id1)).build()
28+
query = box_test_entity.query(TestEntity.id.greater_or_equal(id1)).build()
3029
assert query.count() == 2
31-
query = box_test_entity.query(id_prop.less_than(id2)).build()
30+
query = box_test_entity.query(TestEntity.id.less_than(id2)).build()
3231
assert query.count() == 1
33-
query = box_test_entity.query(id_prop.less_or_equal(id2)).build()
32+
query = box_test_entity.query(TestEntity.id.less_or_equal(id2)).build()
3433
assert query.count() == 2
3534

3635
# Bool query
37-
bool_prop: Property = TestEntity.get_property("bool")
38-
query = box_test_entity.query(bool_prop.equals(True)).build()
36+
query = box_test_entity.query(TestEntity.bool.equals(True)).build()
3937
assert query.count() == 1
4038
assert query.find()[0].id == id1
4139

42-
query = box_test_entity.query(bool_prop.equals(False)).build()
40+
query = box_test_entity.query(TestEntity.bool.equals(False)).build()
4341
assert query.count() == 1
4442
assert query.find()[0].id == id2
4543

4644
# String query
47-
str_prop: Property = TestEntity.get_property("str")
45+
str_prop: Property = TestEntity.str
4846

4947
# Case Sensitive = True
5048
query = box_test_entity.query(str_prop.equals("bar", case_sensitive=True)).build()
49+
# String query using direct `<entity>.<propname>` notation
50+
51+
query = box_test_entity.query(TestEntity.str.equals("bar", case_sensitive=True)).build()
5152
assert query.count() == 1
5253
assert query.find()[0].str == "bar"
5354

54-
query = box_test_entity.query(str_prop.not_equals("bar", case_sensitive=True)).build()
55+
query = box_test_entity.query(TestEntity.str.not_equals("bar", case_sensitive=True)).build()
5556
assert query.count() == 1
5657
assert query.find()[0].str == "foo"
5758

58-
query = box_test_entity.query(str_prop.contains("ba", case_sensitive=True)).build()
59+
query = box_test_entity.query(TestEntity.str.contains("ba", case_sensitive=True)).build()
5960
assert query.count() == 1
6061
assert query.find()[0].str == "bar"
6162

62-
query = box_test_entity.query(str_prop.starts_with("f", case_sensitive=True)).build()
63+
query = box_test_entity.query(TestEntity.str.starts_with("f", case_sensitive=True)).build()
6364
assert query.count() == 1
6465
assert query.find()[0].str == "foo"
6566

66-
query = box_test_entity.query(str_prop.ends_with("o", case_sensitive=True)).build()
67+
query = box_test_entity.query(TestEntity.str.ends_with("o", case_sensitive=True)).build()
6768
assert query.count() == 1
6869
assert query.find()[0].str == "foo"
6970

70-
query = box_test_entity.query(str_prop.greater_than("bar", case_sensitive=True)).build()
71+
query = box_test_entity.query(TestEntity.str.greater_than("bar", case_sensitive=True)).build()
7172
assert query.count() == 1
7273
assert query.find()[0].str == "foo"
7374

74-
query = box_test_entity.query(str_prop.greater_or_equal("bar", case_sensitive=True)).build()
75+
query = box_test_entity.query(TestEntity.str.greater_or_equal("bar", case_sensitive=True)).build()
7576
assert query.count() == 2
7677
assert query.find()[0].str == "foo"
7778
assert query.find()[1].str == "bar"
7879

79-
query = box_test_entity.query(str_prop.less_than("foo", case_sensitive=True)).build()
80+
query = box_test_entity.query(TestEntity.str.less_than("foo", case_sensitive=True)).build()
8081
assert query.count() == 1
8182
assert query.find()[0].str == "bar"
8283

83-
query = box_test_entity.query(str_prop.less_or_equal("foo", case_sensitive=True)).build()
84+
query = box_test_entity.query(TestEntity.str.less_or_equal("foo", case_sensitive=True)).build()
8485
assert query.count() == 2
8586
assert query.find()[0].str == "foo"
8687
assert query.find()[1].str == "bar"
8788

8889
# Case Sensitive = False
8990

90-
query = box_test_entity.query(str_prop.equals("Bar", case_sensitive=False)).build()
91+
query = box_test_entity.query(TestEntity.str.equals("Bar", case_sensitive=False)).build()
9192
assert query.count() == 1
9293
assert query.find()[0].str == "bar"
9394

94-
query = box_test_entity.query(str_prop.not_equals("Bar", case_sensitive=False)).build()
95+
query = box_test_entity.query(TestEntity.str.not_equals("Bar", case_sensitive=False)).build()
9596
assert query.count() == 1
9697
assert query.find()[0].str == "foo"
9798

98-
query = box_test_entity.query(str_prop.contains("Ba", case_sensitive=False)).build()
99+
query = box_test_entity.query(TestEntity.str.contains("Ba", case_sensitive=False)).build()
99100
assert query.count() == 1
100101
assert query.find()[0].str == "bar"
101102

102-
query = box_test_entity.query(str_prop.starts_with("F", case_sensitive=False)).build()
103+
query = box_test_entity.query(TestEntity.str.starts_with("F", case_sensitive=False)).build()
103104
assert query.count() == 1
104105
assert query.find()[0].str == "foo"
105106

106-
query = box_test_entity.query(str_prop.ends_with("O", case_sensitive=False)).build()
107+
query = box_test_entity.query(TestEntity.str.ends_with("O", case_sensitive=False)).build()
107108
assert query.count() == 1
108109
assert query.find()[0].str == "foo"
109110

110-
query = box_test_entity.query(str_prop.greater_than("BAR", case_sensitive=False)).build()
111+
query = box_test_entity.query(TestEntity.str.greater_than("BAR", case_sensitive=False)).build()
111112
assert query.count() == 1
112113
assert query.find()[0].str == "foo"
113114

114-
query = box_test_entity.query(str_prop.greater_or_equal("BAR", case_sensitive=False)).build()
115+
query = box_test_entity.query(TestEntity.str.greater_or_equal("BAR", case_sensitive=False)).build()
115116
assert query.count() == 2
116117
assert query.find()[0].str == "foo"
117118
assert query.find()[1].str == "bar"
118119

119-
query = box_test_entity.query(str_prop.less_than("FOo", case_sensitive=False)).build()
120+
query = box_test_entity.query(TestEntity.str.less_than("FOo", case_sensitive=False)).build()
120121
assert query.count() == 1
121122
assert query.find()[0].str == "bar"
122123

123-
query = box_test_entity.query(str_prop.less_or_equal("FoO", case_sensitive=False)).build()
124+
query = box_test_entity.query(TestEntity.str.less_or_equal("FoO", case_sensitive=False)).build()
124125
assert query.count() == 2
125126
assert query.find()[0].str == "foo"
126127
assert query.find()[1].str == "bar"
127128

128-
# Int queries
129-
int_prop: Property = TestEntity.get_property("int64")
129+
# Int queries using a reference to property
130+
int_prop: Property = TestEntity.int64
130131

131132
query = box_test_entity.query(int_prop.equals(123)).build()
132133
assert query.count() == 1
@@ -161,8 +162,8 @@ def test_basics():
161162
#
162163
assert query.remove() == 1
163164

164-
# NN query
165-
vector_prop: Property = VectorEntity.get_property("vector_euclidean")
165+
# NN query and using `get_property`
166+
vector_prop: Property = VectorEntity.vector_euclidean
166167

167168
query = box_vector_entity.query(vector_prop.nearest_neighbor([2.1, 2.1], 2)).build()
168169
assert query.count() == 2

0 commit comments

Comments
 (0)