Namdak Tonpa 5 years ago
parent
commit
6ac8293966
2 changed files with 7 additions and 8 deletions
  1. 1 1
      include/cursors.hrl
  2. 6 7
      test/test_helper.exs

+ 1 - 1
include/cursors.hrl

@@ -7,7 +7,7 @@
                   args  = [] :: term(),
                   args  = [] :: term(),
                   first = [] :: [] | tuple() } ).
                   first = [] :: [] | tuple() } ).
 -record(reader, { id    = [] :: [] | integer(),
 -record(reader, { id    = [] :: [] | integer(),
-                  pos   =  0 :: integer(),
+                  pos   =  0 :: integer() | atom(),
                   cache = [] :: [] | integer() | {term(),term()},
                   cache = [] :: [] | integer() | {term(),term()},
                   args  = 0 :: term(),
                   args  = 0 :: term(),
                   feed  = [] :: term(),
                   feed  = [] :: term(),

+ 6 - 7
test/test_helper.exs

@@ -73,7 +73,7 @@ defmodule BPE.Test do
     assert KVS.reader(t, :args) == b
     assert KVS.reader(t, :args) == b
   end
   end
 
 
-  test "take back" do
+  test "take back full" do
     id = {:partial, :kvs.seq([], [])}
     id = {:partial, :kvs.seq([], [])}
     x = 5
     x = 5
     :kvs.save(:kvs.writer(id))
     :kvs.save(:kvs.writer(id))
@@ -91,7 +91,7 @@ defmodule BPE.Test do
     assert KVS.reader(t, :args) == b
     assert KVS.reader(t, :args) == b
   end
   end
 
 
-  test "take back2" do
+  test "partial take back" do
     id = {:partial, :kvs.seq([], [])}
     id = {:partial, :kvs.seq([], [])}
     x = 3
     x = 3
     p = 2
     p = 2
@@ -100,11 +100,11 @@ defmodule BPE.Test do
     KVS.reader(id: rid) = :kvs.save(:kvs.reader(id))
     KVS.reader(id: rid) = :kvs.save(:kvs.reader(id))
     t = :kvs.take(KVS.reader(:kvs.load_reader(rid), args: p))
     t = :kvs.take(KVS.reader(:kvs.load_reader(rid), args: p))
     :kvs.save(KVS.reader(t, dir: 1))
     :kvs.save(KVS.reader(t, dir: 1))
-    n = :kvs.take(KVS.reader(:kvs.load_reader(rid), args: p + 1, dir: 1))
+    n = :kvs.take(KVS.reader(:kvs.load_reader(rid), args: p + 1))
     assert KVS.reader(t, :args) == tl(KVS.reader(n, :args))
     assert KVS.reader(t, :args) == tl(KVS.reader(n, :args))
   end
   end
 
 
-  test "take back3" do
+  test "partial full bidirectional" do
     id = {:partial, :kvs.seq([], [])}
     id = {:partial, :kvs.seq([], [])}
     x = 5
     x = 5
     p =2
     p =2
@@ -150,8 +150,7 @@ defmodule BPE.Test do
     assert z3 ++ z2 ++ z1 == nz1 ++ nz2 ++ nz3
     assert z3 ++ z2 ++ z1 == nz1 ++ nz2 ++ nz3
   end
   end
 
 
-
-  test "partial take" do
+  test "partial take forward full" do
     id = {:partial, :kvs.seq([], [])}
     id = {:partial, :kvs.seq([], [])}
     x = 7
     x = 7
     :kvs.save(:kvs.writer(id))
     :kvs.save(:kvs.writer(id))
@@ -182,7 +181,7 @@ defmodule BPE.Test do
     assert :lists.reverse(z1) ++ :lists.reverse(z2) ++ z3 == :kvs.all(id)
     assert :lists.reverse(z1) ++ :lists.reverse(z2) ++ z3 == :kvs.all(id)
   end
   end
 
 
-  test "take back4" do
+  test "take with empy" do
     id = {:partial, :kvs.seq([], [])}
     id = {:partial, :kvs.seq([], [])}
     x = 6
     x = 6
     p = 3
     p = 3