Mercurial > hg > GlobalNeighbors
comparison tests/test_bisect.py @ 8:e3d6919130ca
insert via BST
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 25 Jun 2017 11:21:28 -0700 |
parents | |
children | 27925261c137 |
comparison
equal
deleted
inserted
replaced
7:254195d0bac2 | 8:e3d6919130ca |
---|---|
1 #!/usr/bin/env python | |
2 """ | |
3 test bisection insert | |
4 """ | |
5 | |
6 import random | |
7 import unittest | |
8 from globalneighbors import distance | |
9 | |
10 class TestBisectInsert(unittest.TestCase): | |
11 | |
12 def test_bisect_insert(self): | |
13 """ensure our inserted points are in order""" | |
14 | |
15 values = [(random.random(), i) | |
16 for i in range(15000)] | |
17 for k in (10, 100, 1000, 10000): | |
18 _distances = [] | |
19 for value, i in values: | |
20 distance.insert_distance_bisect(_distances, | |
21 i, | |
22 value, | |
23 k) | |
24 # since k is < 15000 | |
25 assert len(_distances) == k | |
26 ordered = [value[-1] for value in _distances] | |
27 assert sorted(ordered) == ordered | |
28 | |
29 | |
30 if __name__ == '__main__': | |
31 unittest.main() |