anchor.diff:                                   end,
                             Actual = erlsha2:sha512_final(NCtx),
                             ?assertMatch(Expected, Actual)
  -                  end, lists:zip(Vectors, Expected512)),
  +                  end, ExpectedActual),
  +    lists:foreach(fun({Vector, Expected}) ->
  +                          case size(Vector) of
  +                              0 ->
  +                                  ok;
  +                              _ ->
  +                                  Ctx = erlsha2:sha512_init(),
  +                                  Vals = binary_to_list(Vector),
  +                                  NCtx = lists:foldl(
  +                                           fun(V, LastCtx) ->
  +                                                   erlsha2:sha512_update(
  +                                                     LastCtx, <<V:8>>)
  +                                           end, Ctx, Vals),
  +                                  Actual = erlsha2:sha512_final(NCtx),
  +                                  ?assertMatch(Expected, Actual)
  +                          end
  +                  end, ExpectedActual),
       ok.
   
   read_test_vectors() ->
  
positive.code: 
  sha384_update_test(Vectors) ->
      Expected384 = sha384_expected(),
      lists:foreach(fun({Vector, Expected}) ->
                            Ctx = erlsha2:sha384_init(),
                            NCtx = case size(Vector) of
  
negative.code: 
  sha224_update_test(Vectors) ->
      Expected224 = sha224_expected(),
      ExpectedActual = lists:zip(Vectors, Expected224),
      lists:foreach(fun({Vector, Expected}) ->
                            Ctx = erlsha2:sha224_init(),
                            NCtx = case size(Vector) of
  