| 59 | |
| 60 | |
| 61 | def test_duplicate_insert(): |
| 62 | tree = IntervalTree() |
| 63 | |
| 64 | # string data |
| 65 | tree[-10:20] = "arbitrary data" |
| 66 | contents = frozenset([Interval(-10, 20, "arbitrary data")]) |
| 67 | |
| 68 | assert len(tree) == 1 |
| 69 | assert tree.items() == contents |
| 70 | |
| 71 | tree.addi(-10, 20, "arbitrary data") |
| 72 | assert len(tree) == 1 |
| 73 | assert tree.items() == contents |
| 74 | |
| 75 | tree.add(Interval(-10, 20, "arbitrary data")) |
| 76 | assert len(tree) == 1 |
| 77 | assert tree.items() == contents |
| 78 | |
| 79 | tree.update([Interval(-10, 20, "arbitrary data")]) |
| 80 | assert len(tree) == 1 |
| 81 | assert tree.items() == contents |
| 82 | |
| 83 | # None data |
| 84 | tree[-10:20] = None |
| 85 | contents = frozenset([ |
| 86 | Interval(-10, 20), |
| 87 | Interval(-10, 20, "arbitrary data"), |
| 88 | ]) |
| 89 | |
| 90 | assert len(tree) == 2 |
| 91 | assert tree.items() == contents |
| 92 | |
| 93 | tree.addi(-10, 20) |
| 94 | assert len(tree) == 2 |
| 95 | assert tree.items() == contents |
| 96 | |
| 97 | tree.add(Interval(-10, 20)) |
| 98 | assert len(tree) == 2 |
| 99 | assert tree.items() == contents |
| 100 | |
| 101 | tree.update([Interval(-10, 20), Interval(-10, 20, "arbitrary data")]) |
| 102 | assert len(tree) == 2 |
| 103 | assert tree.items() == contents |
| 104 | |
| 105 | |
| 106 | def test_same_range_insert(): |