anchor.diff:  materializer_clocksi_test()->
       PNCounter = new(crdt_pncounter),
       ?assertEqual(0,crdt_pncounter:value(PNCounter)),
  +    
       Op1 = #clocksi_payload{key = abc, type = crdt_pncounter,
                              op_param = {update,{{increment,2},1}},
                              commit_time = {1, 1}, txid = 1},
  
positive.code:                                    vectorclock:from_list([{1,7}]),Ops, ignore),
      ?assertEqual({6, {1,4}}, {crdt_pncounter:value(PNcounter4), CommitTime4}).
  
  materializer_eager_clocksi_test()->
      PNCounter = new(crdt_pncounter),
      ?assertEqual(0,crdt_pncounter:value(PNCounter)),
      % test - no ops
      PNCounter2 = materialize_eager(crdt_pncounter, PNCounter, []]),
      ?assertEqual(0, crdt_pncounter:value(PNCounter2)).
      % test - several ops
      Op1 = {update,{{increment,1},1}},
      Op2 = {update,{{increment,2},1}},
      Op3 = {update,{{increment,3},1}},
      Op4 = {update,{{increment,4},1}},
      Ops = [Op1,Op2,Op3,Op4],  
      PNCounter3 = materialize_eager(crdt_pncounter, PNCounter, Ops),
      ?assertEqual(10, crdt_pncounter:value(PNCounter3)).
  
  materializer_clocksi_concurrent_test() ->
      PNCounter = new(crdt_pncounter),
  
negative.code:     Op4 = #clocksi_payload{key = abc, type = crdt_pncounter,
                             op_param = {update,{{increment,2},1}},
                             commit_time = {1, 4}, txid = 4},
      Ops = [Op1, Op2, Op3, Op4],
  
      {ok, PNCounter2, CommitTime2} = materialize(crdt_pncounter,
                                        PNCounter, ignore, vectorclock:from_list([{1,3}]),
                                        Ops, ignore),
  