Test 1 , Format: ?[?], Args: -1
    Expected:-1 , Actual-1 
    firstOpt: 2 , Actual 2 
      PASS!

Test 2 , Format: ?[?], Args: -1, -1
    Expected:-1 , Actual-1 
    firstOpt: 2 , Actual 2 
      PASS!

Test 3 , Format: ?[?], Args:  0, -1
    Expected: 0 , Actual 0 
    firstOpt: 2 , Actual 2 
      PASS!

Test 4 , Format: ?[??], Args:  0, -1
    Expected: 0 , Actual 0 
    firstOpt: 2 , Actual 2 
      PASS!

Test 5 , Format: ?[??], Args:  0, -1, -1
    Expected: 0 , Actual 0 
    firstOpt: 2 , Actual 2 
      PASS!

Test 6 , Format: ?[??], Args: -1, -1, -1
    Expected:-1 , Actual-1 
    firstOpt: 2 , Actual 2 
      PASS!

Test 7 , Format: ?[??], Args: -1,  0,  0
    Expected:-1 , Actual-1 
    firstOpt: 2 , Actual 2 
      PASS!

Test 8 , Format: ?[??], Args: -1
    Expected:-1 , Actual-1 
    firstOpt: 2 , Actual 2 
      PASS!

Test 9 , Format: ?[?[?]], Args: -1
    Expected:-1 , Actual-1 
    firstOpt: 2 , Actual 2 
      PASS!

Test 10 , Format: ?[?[?]], Args: -1, -1,  0
    Expected:-1 , Actual-1 
    firstOpt: 2 , Actual 2 
      PASS!

Test 11 , Format: ?[?[?]], Args: -1, -1, -1
    Expected:-1 , Actual-1 
    firstOpt: 2 , Actual 2 
      PASS!

Test 12 , Format: ?[?[?]], Args: -1,  0, -1
    Expected: 0 , Actual 0 
    firstOpt: 2 , Actual 2 
      PASS!

Test 13 , Format: ?[[?][?]], Args: -1,  0, -1
    Expected:-1 , Actual-1 
    firstOpt: 2 , Actual 2 
      PASS!

Test 14 , Format: [?][??], Args:  0, -1, -1
    Expected:-1 , Actual-1 
    firstOpt: 1 , Actual 1 
      PASS!

Test 15 , Format: ?, Args:  0, -1, -1
    Expected: 0 , Actual 0 
    firstOpt: 0 , Actual 0 
      PASS!

Test 16 , Format: ?, Args: 
    Expected: 0 , Actual 0 
    firstOpt: 0 , Actual 0 
      PASS!

Test 17 , Format: ?[?], Args: 
    Expected: 0 , Actual 0 
    firstOpt: 2 , Actual 2 
      PASS!

Test 18 , Format: ???[?], Args: -1, -1, -1, -1
    Expected:-1 , Actual-1 
    firstOpt: 4 , Actual 4 
      PASS!
