Current section

Files

Jump to
kvs lib check.ex
Raw

lib/check.ex

defmodule KVS.Check do
require KVS
def check do
id1 = {:basic, :kvs.seq([], [])}
id2 = {:basic, :kvs.seq([], [])}
x = 5
:kvs.save(:kvs.writer(id1))
:kvs.save(:kvs.writer(id2))
:lists.map(
fn _ ->
:kvs.save(:kvs.add(KVS.writer(:kvs.writer(id1), args: {:"$msg", [], [], [], [], []})))
end,
:lists.seq(1, x)
)
:lists.map(fn _ -> :kvs.append({:"$msg", [], [], [], [], []}, id2) end, :lists.seq(1, x))
r1 = :kvs.save(:kvs.reader(id1))
r2 = :kvs.save(:kvs.reader(id2))
x1 = :kvs.take(KVS.reader(:kvs.load_reader(KVS.reader(r1, :id)), args: 20))
x2 = :kvs.take(KVS.reader(:kvs.load_reader(KVS.reader(r2, :id)), args: 20))
b = :kvs.feed(id1)
case :application.get_env(:kvs, :dba_st, :kvs_st) do
:kvs_st ->
c = :kvs.all(id2)
:lists.reverse(c) == KVS.reader(x2, :args)
_ ->
[]
end
:lists.all(fn x -> x == true end, [
:lists.reverse(KVS.reader(x1, :args)) == :lists.reverse(b),
length(KVS.reader(x1, :args)) == length(KVS.reader(x2, :args)),
x == length(b)
])
end
end