Browse Source

test top/bot

dxt 4 years ago
parent
commit
e202e91b8f
1 changed files with 15 additions and 2 deletions
  1. 15 2
      test/fd_test.exs

+ 15 - 2
test/fd_test.exs

@@ -11,8 +11,7 @@ defmodule Fd.Test do
     setup kvs, do: [
     setup kvs, do: [
         id0: :lists.map(fn _ -> :kvs.append(msg(id: :kvs.seq([],[])), "/crm/duck") end, :lists.seq(1,10)),
         id0: :lists.map(fn _ -> :kvs.append(msg(id: :kvs.seq([],[])), "/crm/duck") end, :lists.seq(1,10)),
         id1: :lists.map(fn _ -> :kvs.append(msg(id: :kvs.seq([],[])), "/crm/luck") end, :lists.seq(1,10)),
         id1: :lists.map(fn _ -> :kvs.append(msg(id: :kvs.seq([],[])), "/crm/luck") end, :lists.seq(1,10)),
-        id2: :lists.map(fn _ -> :kvs.append(msg(id: :kvs.seq([],[])), "/crm/truck") end, :lists.seq(1,10)),
-        ]
+        id2: :lists.map(fn _ -> :kvs.append(msg(id: :kvs.seq([],[])), "/crm/truck") end, :lists.seq(1,10))]
 
 
     test "reader", kvs do
     test "reader", kvs do
         ltop = Enum.at(kvs[:id1],0)
         ltop = Enum.at(kvs[:id1],0)
@@ -27,6 +26,20 @@ defmodule Fd.Test do
         assert KVS.reader(feed: "", count: 0, dir: 0, args: [], cache: []) = :kvs.reader([])
         assert KVS.reader(feed: "", count: 0, dir: 0, args: [], cache: []) = :kvs.reader([])
     end
     end
 
 
+    test "range", kvs do
+        ltop = Enum.at(kvs[:id1],0)
+        dtop = Enum.at(kvs[:id0],0)
+        lbot = Enum.at(kvs[:id1],9)
+
+        assert KVS.reader(feed: "/crm/luck", count: 10, dir: 0, args: [], cache: {:msg, ^ltop, "/crm/luck"}) = :kvs.top(:kvs.reader("/crm/luck"))
+        assert KVS.reader(feed: "/crm", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "/crm/duck"}) = :kvs.top(:kvs.reader("/crm"))
+        assert KVS.reader(feed: "/", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "/crm/duck"}) = :kvs.top(:kvs.reader("/"))
+
+        assert KVS.reader(feed: "/crm/luck", count: 10, dir: 0, args: [], cache: {:msg, ^lbot, "/crm/luck"}) = :kvs.bot(:kvs.reader("/crm/luck"))
+        assert KVS.reader(feed: "/crm", count: 0, dir: 0, args: [], cache: []) = :kvs.bot(:kvs.reader("/crm"))
+        assert KVS.reader(feed: "/", count: 0, dir: 0, args: [], cache: []) = :kvs.bot(:kvs.reader("/"))
+    end
+
     defp log(x), do: IO.puts '#{inspect(x)}'
     defp log(x), do: IO.puts '#{inspect(x)}'
     defp log(m, x), do: IO.puts '#{m} #{inspect(x)}'
     defp log(m, x), do: IO.puts '#{m} #{inspect(x)}'
 end
 end