anchor.diff:      Input1 = lists:sublist(InputBlocks, 2),
       UpdatedBlock1 = ?BLOCK(20, 23),
       FinalBlocks = [lists:nth(1, TestBlocks), UpdatedBlock1] ++ lists:sublist(TestBlocks, 5, 4),
  +    ?assertEqual(FinalBlocks, fslogic_blocks:merge(TestBlocks, Input1)),
       ExpectedGetResult = lists:sublist(BlocksToChange, 3),
       check_overlapping_blocks_update(Input1, ExpectedGetResult, [UpdatedBlock1], FinalBlocks),
   
       Input2 = lists:sublist(InputBlocks, 4, 2),
       UpdatedBlock2 = ?BLOCK(50, 23),
       FinalBlocks2 = [lists:nth(1, TestBlocks), UpdatedBlock1, UpdatedBlock2, lists:nth(8, TestBlocks)],
  +    ?assertEqual(FinalBlocks2, fslogic_blocks:merge(FinalBlocks, Input2)),
       check_overlapping_blocks_update(Input2, lists:sublist(BlocksToChange, 4, 3), [UpdatedBlock2],
           FinalBlocks2, [UpdatedBlock1, UpdatedBlock2], BlocksToChange),
   
       Input3 = [lists:nth(3, InputBlocks)],
       UpdatedBlock3 = ?BLOCK(20, 53),
       FinalBlocks3 = [lists:nth(1, TestBlocks), UpdatedBlock3, lists:nth(8, TestBlocks)],
  +    ?assertEqual(FinalBlocks3, fslogic_blocks:merge(FinalBlocks2, Input3)),
       check_overlapping_blocks_update(Input3, [UpdatedBlock1, UpdatedBlock2], [UpdatedBlock3],
           FinalBlocks3, [UpdatedBlock3], BlocksToChange).
   
  
positive.code:         [UpdatedBlock2 | lists:sublist(TestBlocks, 11, 4)] ++ [UpdatedBlock3])),
      NewBlocks2 = lists:sublist(TestBlocks, 1, 2) ++ [UpdatedBlock1 | lists:sublist(TestBlocks, 4, 6)]
          ++ [UpdatedBlock2 | lists:sublist(TestBlocks, 11, 4)] ++ [UpdatedBlock3 | lists:sublist(TestBlocks, 16, 10)],
      ?assertEqual(NewBlocks2, fslogic_location_cache:get_blocks(?KEY, #{})),
      verify_changed_blocks([UpdatedBlock1, UpdatedBlock2, UpdatedBlock3], [Block1, Block3, Block5]),
      verify_blocks_in_use([[Block6]]),
  
negative.code:     Input1 = lists:sublist(InputBlocks, 2) ++ lists:sublist(InputBlocks, 4, 2),
      UpdatedBlocks = [?BLOCK(20, 23), ?BLOCK(50, 23)],
      FinalBlocks = [lists:nth(1, TestBlocks)] ++ UpdatedBlocks ++ [lists:nth(8, TestBlocks)],
      ?assertEqual(FinalBlocks, fslogic_blocks:merge(TestBlocks, Input1)),
      check_overlapping_blocks_update(Input1, BlocksToChange, UpdatedBlocks, FinalBlocks),
  
      Input2 = [lists:nth(3, InputBlocks)],
      UpdatedBlock = ?BLOCK(20, 53),
      FinalBlocks2 = [lists:nth(1, TestBlocks), UpdatedBlock, lists:nth(8, TestBlocks)],
      ?assertEqual(FinalBlocks2, fslogic_blocks:merge(FinalBlocks, Input2)),
      check_overlapping_blocks_update(Input2, UpdatedBlocks, [UpdatedBlock],
          FinalBlocks2, [UpdatedBlock], BlocksToChange).
  
  