Skip to content
Snippets Groups Projects
Commit 5730d7e5 authored by Daniel Hornung's avatar Daniel Hornung
Browse files

ENH: Test for multi-retrieve improved, added tests for errors.

parent 0f0ab8eb
No related branches found
No related tags found
1 merge request!2Enhanced functionality testing
......@@ -65,7 +65,7 @@ function test_retrieve_multiple()
% Retrieve two entities
c = Caosdb();
violin = c.retrieve("120"){1};
collection = c.retrieve({"120", "121"});
collection = c.retrieve({"120", "119"});
assertEqual(length(collection), 2);
assertEqual(numel(collection), 2);
......@@ -73,4 +73,33 @@ function test_retrieve_multiple()
assertEqual(collection{1}.id, violin.id);
assertEqual(collection{1}.name, violin.name);
assertEqual(collection{2}.name, "Antonio Stradivari");
props = collection{2}.get_properties();
assertEqual(props{1}.name, "latitude");
assertEqual(props{1}.value, 45.07353);
assertEqual(props{2}.name, "longitude");
assertEqual(props{2}.value, 7.68315);
end
%% Test retrieval with errors
function test_retrieve_failure()
% Default connection configuration is sufficient.
c = Caosdb();
% Retrieve a non-existing entity.
does_not_exist = c.retrieve("i-do-not-exist"){1};
assertTrue(does_not_exist.has_errors());
error = does_not_exist.get_errors(){1};
assertEqual(typeinfo(error.code), "int64 scalar");
assertEqual(error.code, int64(2));
assertEqual(error.description, "Entity does not exist.");
% Call retrieve with wrong arguments.
% (Only m file level, no invalid arguments should make it to the mex function.)
assertExceptionThrown(@()c.retrieve(120), "maox:InvalidArgument");
assertExceptionThrown(@()c.retrieve({120}), "maox:InvalidArgument");
assertExceptionThrown(@()c.retrieve({"120"}, {}), "maox:InvalidArgument");
assertExceptionThrown(@()c.retrieve({"120"}, {120}), "maox:InvalidArgument");
assertExceptionThrown(@()c.retrieve({"120"}, {"120", 120}), "maox:InvalidArgument");
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment