     @utils = new ProductUtils
     @existingProduct =
       id: '123'
-      variants: [ ]
+      variants: []
 
     @newProduct =
       id: '123'
-      variants: [ ]
+      variants: []
 
   compareDiff = (utils, existingProduct, newProduct, expectedDelta) ->
     delta = utils.diff existingProduct, newProduct

    
    delta = compareDiff @utils, @existingProduct, @newProduct, variants:
      _t: 'a'
      _0: [ { id: 7, sku :'vX', attributes: [ { name: 'attrib', value: 'val' } ], _MATCH_CRITERIA : 'vX', _EXISTING_ARRAY_INDEX: 0 }, 0, 0 ]

    compareVariantActions @utils, delta, @existingProduct, @newProduct, [
      { action: 'removeVariant', id: 7 }

    ]

    delta = compareDiff @utils, @existingProduct, @newProduct, variants:
      0: { id: [3, 2], _NEW_ARRAY_INDEX: [0], _EXISTING_ARRAY_INDEX: [1, 0, 0] }
      1: { id: [2, 3], _NEW_ARRAY_INDEX: [1], _EXISTING_ARRAY_INDEX: [0, 0, 0] }
      _t: 'a'
      _1 : ['', 0, 3]

    compareVariantActions @utils, delta, @existingProduct, @newProduct,  []

    compareAttributeActions @utils, delta, @existingProduct, @newProduct, []