From b63e446dd32304ea0cf38c466b4d1f3ee3b7b704 Mon Sep 17 00:00:00 2001 From: v0idpwn Date: Wed, 1 Jun 2022 09:59:22 +0300 Subject: [PATCH] failing test --- apps/antidote_crdt/src/antidote_crdt_map_go.erl | 8 +++++--- apps/antidote_crdt/src/antidote_crdt_map_rr.erl | 13 ++++++++----- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/apps/antidote_crdt/src/antidote_crdt_map_go.erl b/apps/antidote_crdt/src/antidote_crdt_map_go.erl index a02a02de..bdc8600a 100644 --- a/apps/antidote_crdt/src/antidote_crdt_map_go.erl +++ b/apps/antidote_crdt/src/antidote_crdt_map_go.erl @@ -178,12 +178,14 @@ update2_test() -> {ok, Map2} = update(Effect1, Map1), ?assertEqual([{{a, antidote_crdt_set_aw}, [a]}], value(Map2)), Op = {update, [ - {{a, antidote_crdt_set_aw}, {remove, a}}, - {{a, antidote_crdt_set_aw}, {add, b}} + {{a, antidote_crdt_set_aw}, {add, a}}, + {{a, antidote_crdt_set_aw}, {add, b}}, + {{a, antidote_crdt_set_aw}, {add, c}}, + {{a, antidote_crdt_set_aw}, {remove, a}} ]}, ?assert(is_operation(Op)), {ok, Effect2} = downstream(Op, Map2), {ok, Map3} = update(Effect2, Map2), - ?assertEqual([{{a, antidote_crdt_set_aw}, [b]}], value(Map3)). + ?assertEqual([{{a, antidote_crdt_set_aw}, [ b, c]}], value(Map3)). -endif. diff --git a/apps/antidote_crdt/src/antidote_crdt_map_rr.erl b/apps/antidote_crdt/src/antidote_crdt_map_rr.erl index 344cddef..4b959774 100644 --- a/apps/antidote_crdt/src/antidote_crdt_map_rr.erl +++ b/apps/antidote_crdt/src/antidote_crdt_map_rr.erl @@ -141,6 +141,7 @@ generate_downstream_update({{Key, Type}, Op}, CurrentMap) -> false -> antidote_crdt:new(Type) end, {ok, DownstreamEffect} = antidote_crdt:downstream(Type, Op, CurrentState), + io:format("effect: ~p~n", [DownstreamEffect]), {{Key, Type}, {ok, DownstreamEffect}}. -spec generate_downstream_remove(typedKey(), state()) -> nested_downstream(). @@ -386,14 +387,16 @@ upd(Update, State) -> multiple_ops_on_same_key_test() -> M1 = new(), - M2 = upd({update, {{a, antidote_crdt_set_rw}, {add, <<"a">>}}}, M1), Op = {update, [ - {{a, antidote_crdt_set_rw}, {remove, <<"a">>}}, - {{a, antidote_crdt_set_rw}, {add, <<"b">>}} + {{a, antidote_crdt_set_rw}, {remove, <<"c">>}}, + {{a, antidote_crdt_set_rw}, {add, <<"c">>}} ]}, ?assert(is_operation(Op)), - M3 = upd(Op, M2), - ?assertEqual([{{a, antidote_crdt_set_rw}, [<<"b">>]}], value(M3)). + M2 = upd(Op, M1), + Op2 = {update, {{a, antidote_crdt_set_rw}, {remove, <<"c">>}}}, + Op3 = {update, {{a, antidote_crdt_set_rw}, {add, <<"c">>}}}, + M3 = upd(Op3, upd(Op2, M1)), + ?assertEqual(value(M3), value(M2)). remove_test() -> M1 = new(),