anchor.diff:      ?assertEqual(12, length(ChildrenResponse6)),
       ?assertEqual(2, length(ChildrenResponse7)),
       ?assertEqual(1, length(ChildrenResponse8)),
  -    ?assertEqual(<<"2-13">>,
  -        proplists:get_value(<<"childrenrange">>, CdmiResponse6)),
  -    ?assertEqual(<<"0-1">>,
  -        proplists:get_value(<<"childrenrange">>, CdmiResponse7)),
  -    ?assertEqual(<<"14-14">>,
  -        proplists:get_value(<<"childrenrange">>, CdmiResponse8)),
  +    ?assertMatch(#{<<"childrenrange">> := <<"2-13">>}, CdmiResponse6),
  +    ?assertMatch(#{<<"childrenrange">> := <<"0-1">>}, CdmiResponse7),
  +    ?assertMatch(#{<<"childrenrange">> := <<"14-14">>}, CdmiResponse8),
       lists:foreach(
           fun(Name) ->
               ?assert(lists:member(Name,
  
positive.code:     {ok, Code3, _Headers3, Response3} = do_request(WorkerP2, filename:join(TestDirName, TestFileName), get, RequestHeaders3, []),
      ?assertEqual(200, Code3),
  
      CdmiResponse3 = maps:to_list(json_utils:decode(Response3)),
      ?assertEqual(TestFileNameBin, proplists:get_value(<<"objectName">>, CdmiResponse3)),
      FileId = proplists:get_value(<<"objectID">>, CdmiResponse3),
      ?assertNotEqual(FileId, undefined),
      ?assert(is_binary(FileId)),
      ?assertEqual(<<"/", (list_to_binary(SpaceName))/binary, "/", ShortTestDirNameBin/binary, "/">>, proplists:get_value(<<"parentURI">>, CdmiResponse3)),
      ?assertEqual(DirId, proplists:get_value(<<"parentID">>, CdmiResponse3)),
      ?assertEqual(<<"cdmi_capabilities/dataobject/">>, proplists:get_value(<<"capabilitiesURI">>, CdmiResponse3)),
      %%------------------------------
  
      %%---- get / by objectid -------
      RequestHeaders4 = [?CDMI_VERSION_HEADER, user_1_token_header(Config)],
      {ok, Code4, _Headers4, Response4} = do_request(WorkerP2, "cdmi_objectid/" ++ binary_to_list(RootId) ++ "/", get, RequestHeaders4, []),
      ?assertEqual(200, Code4),
      CdmiResponse4 = maps:to_list(json_utils:decode(Response4)),
      Meta1 = proplists:delete(<<"cdmi_atime">>, maps:to_list(proplists:get_value(<<"metadata">>, CdmiResponse1))),
      CdmiResponse1WithoutAtime = [{<<"metadata">>, Meta1} | proplists:delete(<<"metadata">>, CdmiResponse1)],
      Meta4 = proplists:delete(<<"cdmi_atime">>, maps:to_list(proplists:get_value(<<"metadata">>, CdmiResponse4))),
      CdmiResponse4WithoutAtime = [{<<"metadata">>, Meta4} | proplists:delete(<<"metadata">>, CdmiResponse4)],
      ?assertEqual(CdmiResponse1WithoutAtime, CdmiResponse4WithoutAtime), % should be the same as in 1 (except access time)
      %%------------------------------
  
  
negative.code: 
      % check "completionStatus", should be set to "Processing"
      {ok, Code5_1, _Headers5_1, Response5_1} = do_request(Workers, FileName2 ++ "?completionStatus", get, RequestHeaders4, Chunk1),
      CdmiResponse5_1 = (json_utils:decode(Response5_1)),
      ?assertEqual(200, Code5_1),
      ?assertMatch(#{<<"completionStatus">> := <<"Processing">>}, CdmiResponse5_1),
  
      % upload second chunk of file
      RequestHeaders6 = [user_1_token_header(Config), {<<"content-range">>, <<"bytes 4-4/10">>}, {<<"X-CDMI-Partial">>, <<"true">>}],
  