content: /*
   * This file was automatically generated by UTestGen and EvoSuite
   * Wed Mar 20 23:56:38 GMT 2024
   */
  
  package jipa;
  
  import org.junit.jupiter.api.Test;
  import static org.junit.jupiter.api.Assertions.*;
  import org.junit.jupiter.api.Timeout;
  import java.util.concurrent.TimeUnit;
  import static org.evosuite.runtime.EvoAssertions.*;
  import java.util.NoSuchElementException;
  import jipa.Main;
  import org.evosuite.runtime.EvoRunner;
  import org.evosuite.runtime.EvoRunnerParameters;
  import org.evosuite.runtime.System;
  import org.evosuite.runtime.testdata.EvoSuiteFile;
  import org.evosuite.runtime.testdata.FileSystemHandling;
  import org.evosuite.runtime.util.SystemInUtil;
  import org.junit.runner.RunWith;
  
  @RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true) 
  public class Main_Original_ESTest extends Main_Original_ESTest_scaffolding {
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testIsNumericReturningFalse() throws Throwable  {
        boolean numeric = Main.isNumeric("df");
        assertFalse(numeric);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetValueReturningZero() throws Throwable  {
        int value = Main.getValue("je");
        assertEquals(0, value);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetFileNameReturningNonEmptyString() throws Throwable  {
        SystemInUtil.addInputLine("l");
        String fileName = Main.getFileName();
        assertEquals("l", fileName);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetFileNameReturningEmptyString() throws Throwable  {
        SystemInUtil.addInputLine("");
        String fileName = Main.getFileName();
        assertEquals("", fileName);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetJumpValueReturningNegative() throws Throwable  {
        int jumpValue = Main.getJumpValue("j");
        assertEquals((-2), jumpValue);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetValueReturningPositive() throws Throwable  {
        int value = Main.getValue("4");
        assertEquals(4, value);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetValueReturningNegative() throws Throwable  {
        int value = Main.getValue("*");
        assertEquals((-1), value);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testSplitArguments0() throws Throwable  {
        String[] splitArguments = Main.splitArguments("8\"W3j,>^?<TY{");
        assertEquals(1, splitArguments.length);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testResetInstructions() throws Throwable  {
        Main.resetInstructions();
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testRemoveCommentReturningEmptyString() throws Throwable  {
        String removeComment = Main.removeComment("");
        assertEquals("", removeComment);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testLoadInstructionsReturningTrue() throws Throwable  {
        EvoSuiteFile arg0 = new EvoSuiteFile("d0b=N?l");
        byte[] arg1 = new byte[1];
        FileSystemHandling.appendDataToFile(arg0, arg1);
        boolean loadInstructions = Main.loadInstructions("d0b=N?l");
        assertTrue(loadInstructions);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testLoadInstructionsReturningFalse() throws Throwable  {
        boolean loadInstructions = Main.loadInstructions("vw:fBHL");
        assertFalse(loadInstructions);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testIsNumericReturningTrue() throws Throwable  {
        boolean numeric = Main.isNumeric("0");
        assertTrue(numeric);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetStringValueReturningEmptyString() throws Throwable  {
        String stringValue = Main.getStringValue("\"");
        assertEquals("", stringValue);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetStringValue0() throws Throwable  {
        String stringValue = Main.getStringValue("\"2\"HwC?");
        assertEquals("20", stringValue);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetStringValue1() throws Throwable  {
        String stringValue = Main.getStringValue("ig/w1x5i>+n");
        assertEquals("0", stringValue);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReadValue0() throws Throwable  {
        SystemInUtil.addInputLine("0");
        int readValue = Main.readValue();
        assertEquals(0, readValue);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReadValue1() throws Throwable  {
        SystemInUtil.addInputLine("x[;/`xpefe");
        int readValue = Main.readValue();
        assertEquals(0, readValue);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetStringValue2() throws Throwable  {
        String stringValue = Main.getStringValue("8\"W3j,>^?<TY{");
        assertEquals("80", stringValue);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testSplitArguments1() throws Throwable  {
        String[] splitArguments = Main.splitArguments("qBSfJjW\"[b 7\"QIe,*");
        assertEquals(2, splitArguments.length);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testSplitArgumentsWithEmptyString() throws Throwable  {
        String[] splitArguments = Main.splitArguments("");
        assertEquals(1, splitArguments.length);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testRemoveComment0() throws Throwable  {
        String removeComment = Main.removeComment("/^[@%Z'kV_-;");
        assertEquals("/^[@%Z'kV_-", removeComment);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testRemoveComment1() throws Throwable  {
        String removeComment = Main.removeComment("&Sah^sA;hOV\"DY");
        assertEquals("&Sah^sA;hOV\"DY", removeComment);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testLoadInstructionsThrowsSystemExitException() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.loadInstructions("q");
          fail("Expecting exception: System.SystemExitException");
        
        } catch(System.SystemExitException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("org.evosuite.runtime.System", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsArrayIndexOutOfBoundsException0() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("cmp");
          fail("Expecting exception: ArrayIndexOutOfBoundsException");
        
        } catch(ArrayIndexOutOfBoundsException e) {
           //
           // 1
           //
           verifyException("jipa.Main", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException0() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("jne");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException1() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("je");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException2() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("jz");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException3() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("jbe");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException4() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("jb");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException5() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("jae");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException6() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("ja");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException7() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("jnz");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstruction0() throws Throwable  {
        Main.processInstruction("jmp");
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException8() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("and");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException9() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("or");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException10() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("xor");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException11() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("mod");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException12() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("div");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException13() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("mul");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException14() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("sub");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException15() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("add");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException16() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("dec");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException17() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("inc");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException18() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("var");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException19() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("arr");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException20() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("del");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Variable", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsArrayIndexOutOfBoundsException1() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("set");
          fail("Expecting exception: ArrayIndexOutOfBoundsException");
        
        } catch(ArrayIndexOutOfBoundsException e) {
           //
           // 1
           //
           verifyException("jipa.Main", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsArrayIndexOutOfBoundsException2() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("cpy");
          fail("Expecting exception: ArrayIndexOutOfBoundsException");
        
        } catch(ArrayIndexOutOfBoundsException e) {
           //
           // 1
           //
           verifyException("jipa.Main", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsArrayIndexOutOfBoundsException3() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("mov");
          fail("Expecting exception: ArrayIndexOutOfBoundsException");
        
        } catch(ArrayIndexOutOfBoundsException e) {
           //
           // 1
           //
           verifyException("jipa.Main", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNoSuchElementException() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("in");
          fail("Expecting exception: NoSuchElementException");
        
        } catch(NoSuchElementException e) {
           //
           // No line found
           //
           verifyException("java.util.Scanner", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsNullPointerException21() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("out");
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("jipa.Main", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstructionThrowsSystemExitException() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.processInstruction("halt");
          fail("Expecting exception: System.SystemExitException");
        
        } catch(System.SystemExitException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("org.evosuite.runtime.System", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testProcessInstruction1() throws Throwable  {
        Main.processInstruction("qBSfJjW\"[b 7\"QIe,*");
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testMainThrowsTooManyResourcesException() throws Throwable  {
        String[] arg0 = new String[1];
        arg0[0] = "jipa.Label";
        // Undeclared exception!
        Main.main(arg0);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testMainThrowsNoSuchElementException() throws Throwable  {
        String[] arg0 = new String[0];
        // Undeclared exception!
        try { 
          Main.main(arg0);
          fail("Expecting exception: NoSuchElementException");
        
        } catch(NoSuchElementException e) {
           //
           // No line found
           //
           verifyException("java.util.Scanner", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testToOpcode() throws Throwable  {
        Main.opcodes opcode = Main.opcodes.toOpcode("");
        assertEquals(Main.opcodes.novalue, opcode);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testCreatesMain() throws Throwable  {
        Main main = new Main();
        assertEquals(0, Main.iPtr);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testLoadInstructionsThrowsNoSuchElementException() throws Throwable  {
        // Undeclared exception!
        try { 
          Main.loadInstructions("");
          fail("Expecting exception: NoSuchElementException");
        
        } catch(NoSuchElementException e) {
           //
           // No line found
           //
           verifyException("java.util.Scanner", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetJumpValueReturningPositive() throws Throwable  {
        int jumpValue = Main.getJumpValue("80");
        assertEquals(79, jumpValue);
    }
  }
  