package com.sandwich.koan.constant; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.Collections; import java.util.List; import org.junit.Test; import com.sandwich.koan.path.CommandLineTestCase; public class ArgumentTypeTest extends CommandLineTestCase { @Test public void testClassPrecedesMethod() throws Exception { assertTrue(ArgumentType.CLASS_ARG.compareTo(ArgumentType.METHOD_ARG) == -1); // further drive point home - method inserted at index 0, class index 1 List<ArgumentType> classVsMethod = Arrays.asList(ArgumentType.METHOD_ARG, ArgumentType.CLASS_ARG); assertEquals(0, classVsMethod.indexOf(ArgumentType.METHOD_ARG)); assertEquals(1, classVsMethod.indexOf(ArgumentType.CLASS_ARG)); Collections.sort(classVsMethod); // now - because of comparable impl was applied, class precedes method - this is necessary // @ see KaonSuiteRunner.run() assertEquals(1, classVsMethod.indexOf(ArgumentType.METHOD_ARG)); assertEquals(0, classVsMethod.indexOf(ArgumentType.CLASS_ARG)); } }