Billy Barrow 3 лет назад
Родитель
Сommit
a1a9e0ec65
3 измененных файлов с 25 добавлено и 3 удалено
  1. 1 1
      src/lib/Concrete/RangeEnumerable.vala
  2. 2 2
      src/lib/Invercargill.vala
  3. 22 0
      src/tests/Integration/Gee.vala

+ 1 - 1
src/lib/Concrete/RangeEnumerable.vala

@@ -29,7 +29,7 @@ namespace Invercargill {
                 () => i < stop,
                 () => {
                     var val = i;
-                    i++;
+                    i += stride;
                     return val;
                 });
         }

+ 2 - 2
src/lib/Invercargill.vala

@@ -20,8 +20,8 @@ namespace Invercargill {
     //      return new DirEnumerable(input);
     //  }
 
-    public static Enumerable<int> range(int count, int start = 0, int increment = 1) {
-        return new RangeEnumerable(start, count, increment);
+    public static Enumerable<int> range(int from, int to, int increment = 1) {
+        return new RangeEnumerable(from, to, increment);
     }
 
     public static TransformDelegate<Tin, Tout> trycatch<Tin, Tout>(ErrorThrowingDelegate<Tin, Tout> main, ErrorCatchingDelegate<Tin, Tout> handler) {

+ 22 - 0
src/tests/Integration/Gee.vala

@@ -24,4 +24,26 @@ void gee_tests() {
         }
     });
 
+    Test.add_func("/invercargill/conversion/gee/iterable2", () => {
+        var items = range(10, 1000, 5);
+        var result = items.as_iterable();
+
+        var i = 10;
+        foreach (var item in result) {
+            assert_true(item == i);
+            i += 5;
+        }
+    });
+
+    Test.add_func("/invercargill/conversion/gee/iterable3", () => {
+        var items = range(0, 1000);
+        var result = items.as_iterable();
+
+        var i = 0;
+        foreach (var item in result) {
+            assert_true(item == i);
+            i++;
+        }
+    });
+
 }