Fixed getItem in ggs_db
This commit is contained in:
parent
21b2b9aeda
commit
0aac25cd42
2 changed files with 36 additions and 31 deletions
|
@ -41,7 +41,6 @@ removeItem(GameToken,Ns,Key) ->
|
|||
end,
|
||||
mnesia:transaction(Fun).
|
||||
|
||||
|
||||
clear(GameToken,Ns) ->
|
||||
Fun = fun() ->
|
||||
Keys = mnesia:all_keys(data),
|
||||
|
@ -61,14 +60,18 @@ clear(GameToken) ->
|
|||
Ret.
|
||||
|
||||
%%-----------------------------------------------------
|
||||
%% Querries
|
||||
%% Queries
|
||||
%%-----------------------------------------------------
|
||||
getItem(GameToken,Ns,Key) ->
|
||||
Fun = fun() ->
|
||||
mnesia:read(data, {GameToken,Ns,Key})
|
||||
end,
|
||||
{atomic, [Ret]} = mnesia:transaction(Fun),
|
||||
Ret#data.value.
|
||||
Fun = fun() ->
|
||||
mnesia:read(data, {GameToken,Ns,Key})
|
||||
end,
|
||||
case mnesia:transaction(Fun) of
|
||||
{atomic, []} ->
|
||||
{error};
|
||||
{atomic, [Ret]} ->
|
||||
Ret#data.value
|
||||
end.
|
||||
|
||||
length(GameToken,Ns) ->
|
||||
Fun = fun() ->
|
||||
|
@ -86,6 +89,3 @@ key(GameToken,Ns,Position) ->
|
|||
end,
|
||||
{atomic, Ret} = mnesia:transaction(Fun),
|
||||
Ret.
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -10,33 +10,38 @@
|
|||
|
||||
%Key should be a tuple of two elements
|
||||
getItem_setItem_test() ->
|
||||
ggs_db:init(),
|
||||
ggs_db:setItem("dbname","nsname","keyname1","Hello"),
|
||||
ggs_db:setItem("dbname","nsname","keyname2","Hello2"),
|
||||
ggs_db:setItem("dbname2","nsname","keyname1","Hello3"),
|
||||
ggs_db:setItem("dbname2","nsname","keyname1","Hello4"),
|
||||
ggs_db:setItem("dbname3","nsname","keyname1","Hello5"),
|
||||
"Hello" = ggs_db:getItem("dbname","nsname","keyname1").
|
||||
ggs_db:init(),
|
||||
ggs_db:setItem("dbname","nsname","keyname1","Hello"),
|
||||
ggs_db:setItem("dbname","nsname","keyname2","Hello2"),
|
||||
ggs_db:setItem("dbname2","nsname","keyname1","Hello3"),
|
||||
ggs_db:setItem("dbname2","nsname","keyname1","Hello4"),
|
||||
ggs_db:setItem("dbname3","nsname","keyname1","Hello5"),
|
||||
"Hello" = ggs_db:getItem("dbname","nsname","keyname1").
|
||||
|
||||
%Test the length function of our database
|
||||
length_test() ->
|
||||
ggs_db:setItem(1,1,2,"112"),
|
||||
ggs_db:setItem(1,2,2,"122"),
|
||||
ggs_db:setItem(1,1,3,"113"),
|
||||
ggs_db:setItem(1,1,4,"114"),
|
||||
?assertEqual(ggs_db:length(1,1), 3).
|
||||
ggs_db:setItem(1,1,2,"112"),
|
||||
ggs_db:setItem(1,2,2,"122"),
|
||||
ggs_db:setItem(1,1,3,"113"),
|
||||
ggs_db:setItem(1,1,4,"114"),
|
||||
?assertEqual(ggs_db:length(1,1), 3).
|
||||
|
||||
%Test if we can remove correctly from the database
|
||||
removeItem_test() ->
|
||||
ggs_db:removeItem(1,1,4),
|
||||
?assertNot(ggs_db:getItem(1,1,4) =:= "114").
|
||||
ggs_db:removeItem(1,1,4),
|
||||
?assertNot(ggs_db:getItem(1,1,4) =:= "114").
|
||||
|
||||
%Test the key function
|
||||
key_test() ->
|
||||
?assert(ggs_db:key(1,1,2) =:= {1,1,3}).
|
||||
?assert(ggs_db:key(1,1,2) =:= {1,1,2}).
|
||||
|
||||
%Test the clear function(for gametoken and ns)
|
||||
clear_test() ->
|
||||
ggs_db:clear(1,1),
|
||||
?assert(ggs_db:length(1,1) =:= 0).
|
||||
ggs_db:clear(1,1),
|
||||
?assert(ggs_db:length(1,1) =:= 0).
|
||||
|
||||
%Test the clear function(gametoken)
|
||||
clear_GameToken_test() ->
|
||||
ggs_db:clear(1),
|
||||
?assert((ggs_db:length(1,1) + ggs_db:length(1,2)) =:= 0),
|
||||
ggs_db:stop().
|
||||
ggs_db:clear(1),
|
||||
?assert((ggs_db:length(1,1) + ggs_db:length(1,2)) =:= 0),
|
||||
ggs_db:stop().
|
||||
|
|
Reference in a new issue