anchor.diff:  is_op_in_snapshot(OperationCommitTime, SnapshotTime, SnapshotCommitTime) ->
   	{OpDc, OpCommitTime}= OperationCommitTime,
       {ok, Ts} = vectorclock:get_clock_of_dc(OpDc, SnapshotTime),
  -    
  -    lager:info("operation commit time = ~p", [OpCommitTime]),
  -    lager:info("snapshot commit time = ~p", [SnapshotCommitTime]),
  -    lager:info("snapshot time in the dc= ~p", [Ts]),
  -    
       case SnapshotCommitTime of
       ignore -> 
       	OpCommitTime =< Ts;
       {SnapshotDc, SnapshotCT} ->
       	case (SnapshotDc == OpDc) of
       	true ->
  -    	lager:info("same DC"),
   			(OpCommitTime =< Ts) and (SnapshotCT < OpCommitTime);
   		false ->
  -		lager:info("diff DC"),
   			OpCommitTime =< Ts
   		end
   	end.
  
positive.code: %materialize(_Type, Snapshot, _SnapshotTime, []) ->
  %    {ok, Snapshot};
  materialize(Type, Snapshot, SnapshotCommitTime, SnapshotTime, Ops, TxId) ->
      case materialize(Type, Snapshot, SnapshotCommitTime, SnapshotTime, Ops, TxId, ignore) of
      {ok, Val, CommitTime} ->
      	{ok, Val, CommitTime};
      {error, Reason} ->
  
negative.code:     
      {ok, PNcounter4, CommitTime4} = materialize(crdt_pncounter, Snapshot, ignore,
                                     vectorclock:from_list([{2,1}]),Ops, ignore),
      ?assertEqual({1, {2,1}}, {crdt_pncounter:value(PNcounter4), CommitTime4}),
      
      {ok, PNcounter5, CommitTime5} = materialize(crdt_pncounter, Snapshot, ignore,
                                     vectorclock:from_list([{1,1}]),Ops, ignore),
      ?assertEqual({2, {1,1}}, {crdt_pncounter:value(PNcounter5), CommitTime5}).
  
  %% @doc Testing gcounter with empty update log
  materializer_clocksi_noop_test() ->
  