anchor.diff:  proper_test() ->
     [] = proper:module(?MODULE).
   
  +%% TODO(tyler) prop: keep tasks from last mesos master if it just changed and is empty
  +%% TODO(tyler) prop: remove tasks from last mesos master if it changed longer ago than the threshold
  +%% TODO(tyler) prop: favor new tasks for an agent over cached agent tasks
  +%% TODO(tyler) prop: keep tasks from agents that disappear for less than the threshold
  +%% TODO(tyler) prop: remove tasks from agents that disappear for more than the threshold
  +
  +prop_cache_tasks_across_master_failover() ->
  +  ok.
  +
   prop_valid_states_parse() ->
     ?FORALL(S, mesos_state(), parses(S)).
   
  
positive.code: 
  docker_basic_test() ->
    {ok, Data} = file:read_file("testdata/docker.json"),
    #state{vips = Vips} = parse_json_to_vips(#state{}, Data),
    Expected = [
      {
        {tcp, {1, 2, 3, 4}, 5000},
  
negative.code:     }
    ],
    ?assertEqual(Expected, Vips).
  
  bad_state_test() ->
    {ok, Data} = file:read_file("testdata/bad-state-gaal.json"),
    Now = erlang:monotonic_time(seconds),
    #state{vips = Vips} = parse_json_to_vips(#state{}, Data, Now),
    Expected = [
      {
        {tcp, {10, 22, 126, 49}, 5000},
  