1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/datatypes/quadtree_test.v
2022-10-18 18:02:44 +03:00

84 lines
1.4 KiB
V

module datatypes
fn test_create() {
mut qt := Quadtree{}
test := qt.create(0, 0, 1340, 640, 8, 4, 0)
test_clone := qt.create(0, 0, 1340, 640, 8, 4, 0)
assert test == test_clone
}
fn test_insert() {
mut qt := Quadtree{}
mut test := qt.create(0, 0, 1340, 640, 8, 4, 0)
mut pt := AABB{
x: 100
y: 50
width: 60
height: 100
}
assert test.particles == []
test.insert(pt)
assert test.particles[0] == pt
}
fn test_retrieve() {
mut qt := Quadtree{}
mut test := qt.create(0, 0, 1340, 640, 8, 4, 0)
mut pt := AABB{
x: 100
y: 50
width: 60
height: 100
}
test.insert(pt)
t := test.retrieve(pt)
assert t[0] == pt
}
fn test_clear() {
mut qt := Quadtree{}
mut test := qt.create(0, 0, 1340, 640, 8, 4, 0)
mut test_clone := qt.create(0, 0, 1340, 640, 8, 4, 0)
mut pt := AABB{
x: 100
y: 50
width: 60
height: 100
}
test.split()
test.insert(pt)
assert test != test_clone
test.clear()
assert test == test_clone
}
fn test_get_nodes() {
mut qt := Quadtree{}
mut test := qt.create(0, 0, 1340, 640, 8, 4, 0)
test.split()
t := test.get_nodes()
assert t.len == 4
}
fn test_split() {
mut qt := Quadtree{}
mut test := qt.create(0, 0, 1340, 640, 8, 4, 0)
test.split()
t := test.get_nodes()
assert t.len == 4
}
fn test_get_index() {
mut qt := Quadtree{}
mut test := qt.create(0, 0, 1340, 640, 8, 4, 0)
mut pt := AABB{
x: 100
y: 50
width: 60
height: 100
}
test.particles << pt
t := test.get_index(pt)
assert t == [1]
}