Fixes checking for emptiness of subsets when master set is empty
authorMaciej Piechotka <uzytkownik2@gmail.com>
Mon, 28 Sep 2009 21:31:40 +0000 (23:31 +0200)
committerJürg Billeter <j@bitron.ch>
Fri, 2 Apr 2010 20:09:02 +0000 (22:09 +0200)
Fixes bug 596671.

gee/treeset.vala
tests/testsortedset.vala

index b0672d1..fda7146 100644 (file)
@@ -791,9 +791,9 @@ public class Gee.TreeSet<G> : AbstractSet<G>, SortedSet<G> {
                public bool empty_subset () {
                        switch (type) {
                        case RangeType.HEAD:
-                               return !in_range (set._first.key);
+                               return set._first == null || !in_range (set._first.key);
                        case RangeType.TAIL:
-                               return !in_range (set._last.key);
+                               return set._last == null || !in_range (set._last.key);
                        case RangeType.EMPTY:
                                return true;
                        case RangeType.BOUNDED:
index a8e9f33..c13d9c2 100644 (file)
@@ -428,6 +428,9 @@ public abstract class SortedSetTests : SetTests {
                }
 
                public void test_size () {
+                       assert (subset.is_empty);
+                       assert (subset.size == 0);
+
                        assert (master.add ("one"));
                        assert (master.add ("two"));
                        assert (master.add ("three"));