anchor.diff:      [Hist#{cvhist := [C#{time := {0,0,0}} || C <- CList]} | hist_reset_time(Rest)].
   
   skvh_operations(_) ->
  -    try 
  +    try
           ClEr = 'ClientError',
           Channel = <<"skvhTest">>,
  +
  +        ?assertMatch(#skvhCtx{mainAlias=mapChannel}, create_check_channel(<<"mapChannel">>,[{type,map}])),
  +        ?assertMatch(#skvhCtx{mainAlias=lstChannel}, create_check_channel(<<"lstChannel">>,[{type,list}])),
  +        ?assertMatch(#skvhCtx{mainAlias=binChannel}, create_check_channel(<<"binChannel">>,[{type,binary}])),
  +
  +        ?assertMatch({ok, [_,_]}, write(system,<<"mapChannel">>,[{1,#{a=>1}},{2,#{b=>2}}])),
  +        ?assertMatch({ok, [_,_]}, write(system,<<"lstChannel">>,[{1,[a]},{2,[b]}])),
  +        ?assertMatch({ok, [_,_]}, write(system,<<"binChannel">>,[{1,<<"a">>},{2,<<"b">>}])),
  +
  +        ?assertException(throw, {ClEr,{"Bad datatype, expected map",[a]}}, write(system,<<"mapChannel">>,[{1,[a]},{2,[b]}])),
  +        ?assertException(throw, {ClEr,{"Bad datatype, expected map",<<"a">>}}, write(system,<<"mapChannel">>,[{1,<<"a">>},{2,<<"b">>}])),
  +        ?assertException(throw, {ClEr,{"Bad datatype, expected list",#{a:=1}}}, write(system,<<"lstChannel">>,[{1,#{a=>1}},{2,#{b=>2}}])),
  +        ?assertException(throw, {ClEr,{"Bad datatype, expected list",<<"a">>}}, write(system,<<"lstChannel">>,[{1,<<"a">>},{2,<<"b">>}])),
  +        ?assertException(throw, {ClEr,{"Bad datatype, expected binary",#{a:=1}}},   write(system,<<"binChannel">>,[{1,#{a=>1}},{2,#{b=>2}}])),
  +        ?assertException(throw, {ClEr,{"Bad datatype, expected binary",[a]}}, write(system,<<"binChannel">>,[{1,[a]},{2,[b]}])),
   
           ?LogDebug("---TEST---~p:test_skvh~n", [?MODULE]),
   
  
positive.code:         T
  	catch _:_ ->
                TC = ?binary_to_atom(Main),
                case (catch imem_meta:create_check_table(TC, {record_info(fields,skvhTable),?skvhTable,#skvhTable{}},
                                                         ?TABLE_OPTS, system)) of
                    ok -> ok;
                    {error, Reason} ->
                        imem_meta:log_to_db(warning,?MODULE,create_check_table,[{table,TC}],io_lib:format("~p",[Reason]));
  
negative.code: 
  setup() ->
      ?imem_test_setup,
      catch imem_meta:drop_table(mapChannel),
      catch imem_meta:drop_table(lstChannel),
      catch imem_meta:drop_table(binChannel),
      catch imem_meta:drop_table(skvhTest),
      catch imem_meta:drop_table(skvhTestAudit_86400@_),
      catch imem_meta:drop_table(skvhTestHist).
  
  teardown(_) ->
      catch imem_meta:drop_table(mapChannel),
      catch imem_meta:drop_table(lstChannel),
      catch imem_meta:drop_table(binChannel),
      catch imem_meta:drop_table(skvhTest),
      catch imem_meta:drop_table(skvhTestAudit_86400@_),
      catch imem_meta:drop_table(skvhTestHist),
  