@@ -0,0 +1,2256 @@
+package com.chrisfolger.needsmoredojo.core.refactoring;%0A%0Aimport com.chrisfolger.needsmoredojo.testutil.MockJSArrayLiteralExpression;%0Aimport com.chrisfolger.needsmoredojo.testutil.MockJSCallExpression;%0Aimport com.chrisfolger.needsmoredojo.testutil.MockJSObjectLiteralExpression;%0Aimport com.intellij.lang.javascript.psi.JSCallExpression;%0Aimport com.intellij.lang.javascript.psi.JSExpression;%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0A%0Aimport java.util.HashMap;%0Aimport java.util.Map;%0A%0Aimport static org.junit.Assert.assertEquals;%0A%0Apublic class TestUtilConverter%0A%7B%0A    private UtilConverter converter;%0A%0A    @Before%0A    public void setup()%0A    %7B%0A        converter = new UtilConverter();%0A    %7D%0A%0A    @Test%0A    public void testTheBasicHappyBath()%0A    %7B%0A        Map%3CString, String%3E propertyMap = new HashMap%3CString, String%3E();%0A        propertyMap.put(%22property 1%22, %22value%22);%0A%0A        JSExpression%5B%5D arguments = new JSExpression%5B%5D %7B%0A                new MockJSArrayLiteralExpression(new String%5B%5D %7B %22mixin1%22, %22mixin2%22%7D),%0A                new MockJSObjectLiteralExpression(propertyMap)%0A        %7D;%0A%0A        JSCallExpression callExpression = new MockJSCallExpression(arguments);%0A        Object%5B%5D statements = new Object%5B%5D %7BcallExpression, null%7D;%0A%0A        UtilConverter.UtilItem result = converter.getDeclareStatementFromParsedStatement(statements);%0A        assertEquals(2, result.getExpressionsToMixin().length);%0A        assertEquals(1, result.getMethodsToConvert().length);%0A    %7D%0A%0A    @Test%0A    public void testWhenFirstArgumentIsNull()%0A    %7B%0A        Map%3CString, String%3E propertyMap = new HashMap%3CString, String%3E();%0A        propertyMap.put(%22property 1%22, %22value%22);%0A%0A        JSExpression%5B%5D arguments = new JSExpression%5B%5D %7B%0A                new MockJSArrayLiteralExpression(new String%5B%5D %7B %22mixin1%22, %22mixin2%22%7D),%0A                new MockJSObjectLiteralExpression(propertyMap)%0A        %7D;%0A%0A        JSCallExpression callExpression = new MockJSCallExpression(arguments);%0A        Object%5B%5D statements = new Object%5B%5D %7BcallExpression, null%7D;%0A%0A        UtilConverter.UtilItem result = converter.getDeclareStatementFromParsedStatement(statements);%0A        assertEquals(2, result.getExpressionsToMixin().length);%0A        assertEquals(1, result.getMethodsToConvert().length);%0A    %7D%0A%7D%0A

add test for happy path of util converter