anchor.diff:      % load the default file to execute tests
       {ok, Cwd} = file:get_cwd(),
       Path = list_to_binary(Cwd ++ "/../../lib/jun/test/files/csv.txt"),
  -    [{jun_worker, Pid}, {path, Path}, {cwd, Cwd}].
  +    PathHDF = list_to_binary(Cwd ++ "/../../lib/jun/test/files/csv.hdf"),
  +    [{jun_worker, Pid}, {path, Path}, {cwd, Cwd}, {path_hdf, PathHDF}].
   
   end_per_testcase(_, _Config) ->
       % @todo stop the worker
       ok.
   
  -test_jun_pandas_read_csv([{jun_worker, Pid}, {path, Path}, _]) ->
  +test_jun_pandas_read_csv([{jun_worker, Pid}, {path, Path}, _, _]) ->
       {ok, {?DATAFRAME, Opaque}} = jun_pandas:read_csv(Pid, Path, []),
       ?assertMatch({'$erlport.opaque', python, _}, Opaque).
   
  -test_jun_pandas_to_csv([{jun_worker, Pid}, {path, Path}, {cwd, Cwd}]) ->
  +test_jun_pandas_to_csv([{jun_worker, Pid}, {path, Path}, {cwd, Cwd}, _]) ->
       {ok, {?DATAFRAME, DataFrame}} = jun_pandas:read_csv(Pid, Path, []),
       {ok, Csv} = jun_pandas:to_csv(Pid, DataFrame, []),
       {ok, Out} = file:read_file(Cwd ++ "/../../lib/jun/test/outputs/out.csv"),
       ?assertEqual(Out, Csv).
   
  -test_jun_pandas_to_html([{jun_worker, Pid}, {path, Path}, {cwd, Cwd}]) ->
  +test_jun_pandas_to_html([{jun_worker, Pid}, {path, Path}, {cwd, Cwd}, _]) ->
       {ok, {?DATAFRAME, DataFrame}} = jun_pandas:read_csv(Pid, Path, []),
       {ok, Html} = jun_pandas:to_html(Pid, DataFrame, []),
       {ok, Out} = file:read_file(Cwd ++ "/../../lib/jun/test/outputs/out.html"),
       ?assertEqual(Out, Html).
   
  -test_jun_pandas_to_json([{jun_worker, Pid}, {path, Path}, {cwd, Cwd}]) ->
  +test_jun_pandas_to_json([{jun_worker, Pid}, {path, Path}, {cwd, Cwd}, _]) ->
       {ok, {?DATAFRAME, DataFrame}} = jun_pandas:read_csv(Pid, Path, []),
       {ok, Json} = jun_pandas:to_json(Pid, DataFrame, [{<<"orient">>, <<"records">>}]),
       {ok, Out} = file:read_file(Cwd ++ "/../../lib/jun/test/outputs/out.json"),
       ?assertEqual(Out, Json).
   
  -test_jun_pandas_to_erl([{jun_worker, Pid}, {path, Path}, _]) ->
  +test_jun_pandas_to_erl([{jun_worker, Pid}, {path, Path}, _, _]) ->
       {ok, {?DATAFRAME, DataFrame}} = jun_pandas:read_csv(Pid, Path, []),
       {ok, Erl} = jun_pandas:to_erl(Pid, DataFrame),
       Out = {?DATAFRAME, [<<"name">>, <<"age">>],
  
positive.code:      test_jun_pandas_bad_call,
       test_jun_pandas_to_datetime,
       test_jun_pandas_read_sql,
       test_jun_pandas_read_string].
  
  init_per_testcase(_, _Config) ->
      % for each case start a new worker
  
negative.code:     {ok, Csv} = jun_pandas:to_csv(Pid, DataFrame, []),
      {ok, Out} = file:read_file(Cwd ++ "/../../lib/jun/test/outputs/out.str"),
      ?assertEqual(Out, Csv).
  
  test_jun_pandas_read_hdf([{jun_worker, Pid}, _, _, {path_hdf, Path}]) ->
      {ok, {?DATAFRAME, Opaque}} = jun_pandas:read_hdf(Pid, Path, []),
      ?assertMatch({'$erlport.opaque', python, _}, Opaque).
  
  test_jun_pandas_to_hdf([{jun_worker, Pid}, _, {cwd, Cwd}, {path_hdf, Path}]) ->
      {ok, {?DATAFRAME, DataFrame}} = jun_pandas:read_hdf(Pid, Path, []),
      {ok, {?DATAFRAME, DataFrameHDF}} = jun_pandas:to_hdf(Pid, DataFrame,
          list_to_binary(Cwd ++ "/../../lib/jun/test/outputs/out.hdf"), [{<<"key">>, <<"df">>}]),
      ?assertEqual(DataFrame, DataFrameHDF).
  