Billy Barrow 3 týždňov pred
rodič
commit
c8a76d664d

+ 6 - 6
src/lib/DataStructures/SortedSeries.vala

@@ -5,7 +5,7 @@ namespace Invercargill.DataStructures {
 
         private class SeriesNode<T> {
             public bool is_red;
-            public Vector<T> values { get; private set; }
+            public Series<T> values { get; private set; }
             public SeriesNode<T> left_child { get; set; }
             public SeriesNode<T> right_child { get; set; }
             public SeriesNode<T> parent { get; set; }
@@ -14,7 +14,7 @@ namespace Invercargill.DataStructures {
                 is_red = true;
                 left_child = nil;
                 right_child = nil;
-                values = new Vector<T>();
+                values = new Series<T>();
                 values.add(item);
             }
 
@@ -22,7 +22,7 @@ namespace Invercargill.DataStructures {
                 is_red = false;
                 left_child = this;
                 right_child = this;
-                values = new Vector<T>();
+                values = new Series<T>();
             }
 
             public T sample() {
@@ -41,13 +41,13 @@ namespace Invercargill.DataStructures {
         private SeriesNode<T> root;
         private SeriesNode<T> nil;
         private RWLock rw_lock;
-        private Vector<SeriesNode<T>> node_refs;
+        private Series<SeriesNode<T>> node_refs;
         private CompareDelegate<T> comparitor;
         private int n_items;
 
         public SortedSeries(owned CompareDelegate<T>? comparitor = null) {
             nil = new SeriesNode<T>.nil();
-            node_refs = new Vector<SeriesNode<T>>();
+            node_refs = new Series<SeriesNode<T>>();
             node_refs.add(nil);
             root = nil;
             rw_lock = RWLock();
@@ -96,7 +96,7 @@ namespace Invercargill.DataStructures {
             }
 
             var new_node = new SeriesNode<T> (item, nil);
-            node_refs.add(nil);
+            node_refs.add(new_node);
             new_node.parent = parent;
             if(parent == null) {
                 root = new_node;

+ 14 - 5
src/tests/Integration/SortedSeries.vala

@@ -16,9 +16,19 @@ void sorted_series_tests() {
     Test.add_func("/invercargill/structure/sorted_series/add_many", () => {
 
         var series = new SortedSeries<int>();
-        var items = range(0, 10000);
+        var items = range(0, 300000);
         series.add_all(items);
-        assert(series.count() == 10000);
+        assert(series.count() == 300000);
+
+        series.matches(items, (a, b) => a == b);
+    });
+
+    Test.add_func("/invercargill/structure/sorted_series/add_many_reversed", () => {
+
+        var series = new SortedSeries<int>();
+        var items = range(300000, 0, -1);
+        series.add_all(items);
+        assert(series.count() == 300000);
 
         series.matches(items, (a, b) => a == b);
     });
@@ -28,7 +38,7 @@ void sorted_series_tests() {
         var series = new SortedSeries<int>();
         var items = range(0, 100);
         series.add_all(items);
-        series.add_all(items.debug_trace(i => i.to_string()));
+        series.add_all(items);
         assert(series.count() == 200);
 
         series.matches(items.interleave(items), (a, b) => a == b);
@@ -39,10 +49,9 @@ void sorted_series_tests() {
         var items = new int[] { 1, 8, 2, 4, 6, 5, 3, 10, 3, 7 };
         var expected = new int[] { 1, 2, 3, 3, 4, 5, 6, 7, 8, 10 };
         var series = new SortedSeries<int>();
-        series.add_all(Convert.ate(items).debug_trace(i => i.to_string()));
+        series.add_all(Convert.ate(items));
         var array = series.to_array();
         assert_cmpint(array.length, CompareOperator.EQ, 10);
-        series.debug_dump(n => n.to_string());
 
         for(int i = 0; i < expected.length; i++) {
             assert_cmpint(array[i], CompareOperator.EQ, expected[i]);

+ 13 - 4
src/tests/Integration/SortedVector.vala

@@ -16,9 +16,19 @@ void sorted_vector_tests() {
     Test.add_func("/invercargill/structure/sorted_vector/add_many", () => {
 
         var series = new SortedVector<int>();
-        var items = range(0, 10000000);
+        var items = range(0, 300000);
         series.add_all(items);
-        assert(series.count() == 10000000);
+        assert(series.count() == 300000);
+
+        series.matches(items, (a, b) => a == b);
+    });
+
+    Test.add_func("/invercargill/structure/sorted_vector/add_many_reversed", () => {
+
+        var series = new SortedVector<int>();
+        var items = range(300000, 0, -1);
+        series.add_all(items);
+        assert(series.count() == 300000);
 
         series.matches(items, (a, b) => a == b);
     });
@@ -39,10 +49,9 @@ void sorted_vector_tests() {
         var items = new int[] { 1, 8, 2, 4, 6, 5, 3, 10, 3, 7 };
         var expected = new int[] { 1, 2, 3, 3, 4, 5, 6, 7, 8, 10 };
         var series = new SortedVector<int>();
-        series.add_all(Convert.ate(items).debug_trace(i => i.to_string()));
+        series.add_all(Convert.ate(items));
         var array = series.to_array();
         assert_cmpint(array.length, CompareOperator.EQ, 10);
-        series.debug_dump(n => n.to_string());
 
         for(int i = 0; i < expected.length; i++) {
             assert_cmpint(array[i], CompareOperator.EQ, expected[i]);

+ 1 - 1
src/tests/Speed/Series.vala

@@ -2,6 +2,6 @@ using Invercargill;
 using Invercargill.DataStructures;
 
 void series_speed_test() {
-    var series = new SortedSeries<int>();
+    var series = new Series<int>();
     speed_test_runner_int("Series", series, i => series.add(i), i => series.add_all(i));
 }

+ 24 - 24
src/tests/TestRunner.vala

@@ -3,33 +3,33 @@ public static int main(string[] args) {
 
     Test.init(ref args);
 
-    //  where_tests();
-    //  select_tests();
-    //  select_many_tests();
-    //  gee_tests();
-    //  tracker_tests();
-    //  parallel_tests();
-    //  first_tests();
-    //  binary_data_tests();
-    //  sort_tests();
-    //  vector_tests();
-    //  series_tests();
-    //  array_tests();
-    //  promotion_tests();
-    //  numbers_test();
-    //  dictionary_tests();
-    //  property_mapper_tests();
-    //  cache_tests();
-    //  sorted_vector_tests();
+    where_tests();
+    select_tests();
+    select_many_tests();
+    gee_tests();
+    tracker_tests();
+    parallel_tests();
+    first_tests();
+    binary_data_tests();
+    sort_tests();
+    vector_tests();
+    series_tests();
+    array_tests();
+    promotion_tests();
+    numbers_test();
+    dictionary_tests();
+    property_mapper_tests();
+    cache_tests();
+    sorted_vector_tests();
     sorted_series_tests();
-    
+
     Test.run();
     
-    //  series_speed_test();
-    //  vector_speed_test();
-    //  set_speed_test();
-    //  dictionary_speed_test();
-    //  fifo_speed_test();
+    series_speed_test();
+    vector_speed_test();
+    set_speed_test();
+    dictionary_speed_test();
+    fifo_speed_test();
 
 
     return 0;