def zipper received, expected
      result = {}
      received.uniq.each_with_index do |m,i|
        result[m] = expected[i] || expected[i-1] || expected[0]
      end
      result
    end
def zipper received, expected
      result = {}
      received.uniq.each_with_index do |m,i|
        result[m] = expected[i] || expected[i-1] || expected[0]
      end
      result
    end
@example
   received = [:a, :b, :c]
   expected = [1]
   => {:a=>1, :b=>1, :c=>1}

 @example
   received = [:a, :b, :c]
   expected = []
   => {:a=>nil, :b=>nil, :c=>nil}

 @example
   received = [:a, :b, :c]
   expected = [1, 2]
   => {:a=>1, :b=>2, :c=>2}

 @example
   received = [:a, :b, :c]
   expected = [1, 2, 3, 4]
   => {:a=>1, :b=>2, :c=>3}

 @param received [Array]
 @param expected [Array]
 @return [Hash]