anchor.diff:  %% -------------------------------------------------------------------
   -module(opcounter_test).
   
  --export([confirm/0, clocksi_test1/1, clocksi_test2/1,
  -         clocksi_test_read_wait/1, clocksi_test4/1, clocksi_test_read_time/1,
  -	 clocksi_test_certification_check/1,
  -         clocksi_multiple_test_certification_check/1,
  +-export([confirm/0,
  +         clocksi_test1/1,
  +         clocksi_test2/1,
  +         clocksi_tx_noclock_test/1,
  +         clocksi_single_key_update_read_test/1,
  +         clocksi_multiple_key_update_read_test/1,
  +         clocksi_test_read_wait/1,
  +         clocksi_test_read_time/1,
  +         clocksi_multiple_read_update_test/1,
  +         clocksi_concurrency_test/1,
            spawn_read/3]).
   
   -include_lib("eunit/include/eunit.hrl").
  
positive.code:     ?assertMatch(ReadResult1,1),
      ?assertMatch(ReadResult2,10),
      ?assertMatch(ReadResult3,1),
      pass.
  
  %% @doc The following function tests that ClockSI can excute a
  %%      read-only interactive tx.
  clocksi_test4(Nodes) ->
      lager:info("Test4 started"),
      FirstNode = hd(Nodes),
      lager:info("Node1: ~p", [FirstNode]),
      {ok,TxId1}=rpc:call(FirstNode, antidote, clocksi_istart_tx, []),
  
      lager:info("Tx Started, id : ~p", [TxId1]),
      ReadResult1=rpc:call(FirstNode, antidote, clocksi_iread,
                           [TxId1, abc, crdt_pncounter]),
      lager:info("Tx Reading..."),
      ?assertMatch({ok, _}, ReadResult1),
      lager:info("Tx Read value...~p", [ReadResult1]),
      CommitTime1=rpc:call(FirstNode, antidote, clocksi_iprepare, [TxId1]),
      ?assertMatch({ok, _}, CommitTime1),
      lager:info("Tx sent prepare, got commitTime=..., id : ~p", [CommitTime1]),
      End1=rpc:call(FirstNode, antidote, clocksi_icommit, [TxId1]),
      ?assertMatch({ok, _}, End1),
      lager:info("Tx Committed."),
      lager:info("Test 4 passed."),
      pass.
  
  %% @doc The following function tests that ClockSI waits, when reading,
  
negative.code:     %% Read what you wrote
      Result2=rpc:call(FirstNode, antidote, clocksi_execute_tx,
                      [
                        [{read, {Key1, Type}},
                        {update, {Key1, Type, {increment, a}}},
                        {update, {Key2, Type, {increment, a}}},
                        {read, {Key1, Type}}]]),
      ?assertMatch({ok, _}, Result2),
      {ok, {_, ReadSet2, _}}=Result2, 
      ?assertMatch([0,1], ReadSet2),
  