[libgee] Fixes checking for emptiness of subsets when master set is empty



commit 200111ee7e800af821abf26b7b210b7582c5437d
Author: Maciej Piechotka <uzytkownik2 gmail com>
Date:   Mon Sep 28 23:31:40 2009 +0200

    Fixes checking for emptiness of subsets when master set is empty
    
    Fixes bug 596671.

 gee/treeset.vala         |    4 ++--
 tests/testsortedset.vala |    3 +++
 2 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/gee/treeset.vala b/gee/treeset.vala
index b0672d1..fda7146 100644
--- a/gee/treeset.vala
+++ b/gee/treeset.vala
@@ -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:
diff --git a/tests/testsortedset.vala b/tests/testsortedset.vala
index a8e9f33..c13d9c2 100644
--- a/tests/testsortedset.vala
+++ b/tests/testsortedset.vala
@@ -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"));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]