package innovimax.mixthem;

import innovimax.mixthem.arguments.Arguments;
import innovimax.mixthem.exceptions.ArgumentException;

import org.junit.Assert;
import org.junit.Test;

/*
    Created by innovimax-jim
    Basic tests for this application
*/
public class BasicTest {
        @Test
	public final void testPrintUsage() {
		Arguments.printUsage();
		Assert.assertTrue(true);
	}
	
	@Test(expected=ArgumentException.class)
  	public final void testEmptyArgs() throws ArgumentException {
  		final String args[] = {};
  		Arguments mixArgs = Arguments.checkArguments(args);
	}

	@Test(expected=ArgumentException.class)
  	public final void testWrongArgs() throws ArgumentException {
  		final String args[] = { "ghost1", "ghost2" };
  		Arguments mixArgs = Arguments.checkArguments(args);
  	}

	@Test
  	public final void testNoRule() throws ArgumentException {
  		final String args[] = { getClass().getResource("test001_file1.txt").getFile(), getClass().getResource("test001_file1.txt").getFile() };
  		Arguments mixArgs = Arguments.checkArguments(args);
 		Assert.assertTrue(true);
  	}
	@Test
  	public final void test1Rule() throws ArgumentException {
  		final String args[] = { "-1", getClass().getResource("test001_file1.txt").getFile(), getClass().getResource("test001_file1.txt").getFile() };
  		Arguments mixArgs = Arguments.checkArguments(args);
 		Assert.assertTrue(true);
  	}
	@Test(expected=ArgumentException.class)
  	public final void testUnknownRule() throws ArgumentException {
  		final String args[] = { "-x", getClass().getResource("test001_file1.txt").getFile(), getClass().getResource("test001_file1.txt").getFile() };
  		Arguments mixArgs = Arguments.checkArguments(args);
  	}

}

@@ -297,17 +297,20 @@
  @Test%0D%0A
-%09
+    
 public f
@@ -339,18 +339,24 @@
 ge() %7B%0D%0A
-%09%09
+        
 Argument
@@ -372,18 +372,24 @@
 age();%0D%0A
-%09%09
+        
 Assert.a
@@ -410,16 +410,25 @@
 );%0D%0A
-%09%7D%0D%0A%09%0D%0A%09
+    %7D%0D%0A    %0D%0A    
 @Tes
@@ -458,33 +458,34 @@
 ption.class)%0D%0A  
-%09
+  
 public final voi
@@ -524,34 +524,38 @@
 tException %7B%0D%0A  
-%09%09
+      
 final String arg
@@ -563,26 +563,30 @@
 %5B%5D = %7B%7D;%0D%0A  
-%09%09
+      
 Arguments mi
@@ -626,23 +626,29 @@
 args);%0D%0A
-%09
+    
 %7D%0D%0A%0D%0A
-%09
+    
 @Test(ex
@@ -674,33 +674,34 @@
 ption.class)%0D%0A  
-%09
+  
 public final voi
@@ -740,34 +740,38 @@
 tException %7B%0D%0A  
-%09%09
+      
 final String arg
@@ -799,26 +799,30 @@
 ost2%22 %7D;%0D%0A  
-%09%09
+      
 Arguments mi
@@ -868,15 +868,19 @@
 %0D%0A  
-%09
+  
 %7D%0D%0A%0D%0A
-%09
+    
 @Tes
@@ -876,33 +876,34 @@
 %0A%0D%0A    @Test%0D%0A  
-%09
+  
 public final voi
@@ -939,34 +939,38 @@
 tException %7B%0D%0A  
-%09%09
+      
 final String arg
@@ -1084,34 +1084,38 @@
 getFile() %7D;%0D%0A  
-%09%09
+      
 Arguments mixArg
@@ -1144,34 +1144,39 @@
 uments(args);%0D%0A 
-%09%09
+       
 Assert.assertTru
@@ -1183,29 +1183,33 @@
 e(true);%0D%0A  
-%09%7D%0D%0A%09
+  %7D%0D%0A    
 @Test%0D%0A  %09pu
@@ -1201,25 +1201,26 @@
    @Test%0D%0A  
-%09
+  
 public final
@@ -1259,34 +1259,38 @@
 tException %7B%0D%0A  
-%09%09
+      
 final String arg
@@ -1410,34 +1410,38 @@
 getFile() %7D;%0D%0A  
-%09%09
+      
 Arguments mixArg
@@ -1478,18 +1478,23 @@
 rgs);%0D%0A 
-%09%09
+       
 Assert.a
@@ -1517,13 +1517,17 @@
 %0D%0A  
-%09%7D%0D%0A%09
+  %7D%0D%0A    
 @Tes
@@ -1565,17 +1565,18 @@
 ass)%0D%0A  
-%09
+  
 public f
@@ -1633,18 +1633,22 @@
 on %7B%0D%0A  
-%09%09
+      
 final St
@@ -1788,10 +1788,14 @@
 %0D%0A  
-%09%09
+      
 Argu
@@ -1849,13 +1849,358 @@
 %0D%0A  
-%09
+  
 %7D%0D%0A%0D%0A
+    @Test(expected=ArgumentException.class)%0D%0A    public final void testUnexpectedParam() throws ArgumentException %7B%0D%0A        final String args%5B%5D = %7B %22-1%22, %22#val%22, getClass().getResource(%22test001_file1.txt%22).getFile(), getClass().getResource(%22test001_file1.txt%22).getFile() %7D;%0D%0A        Arguments mixArgs = Arguments.checkArguments(args);%0D%0A    %7D%0D%0A
 %7D%0D%0A

Update BasicTest.java