Update tests to match updated range function
This commit is contained in:
parent
35c991d9c2
commit
01d8e458f4
@ -14,30 +14,29 @@ import com.google.refine.grel.ControlFunctionRegistry;
|
|||||||
import com.google.refine.grel.Function;
|
import com.google.refine.grel.Function;
|
||||||
import com.google.refine.tests.RefineTest;
|
import com.google.refine.tests.RefineTest;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for the range function.
|
* Tests for the range function.
|
||||||
*/
|
*/
|
||||||
public class RangeTests extends RefineTest {
|
public class RangeTests extends RefineTest {
|
||||||
|
|
||||||
static Properties bindings;
|
private static Properties bindings;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@BeforeTest
|
@BeforeTest
|
||||||
public void init() {
|
public void init() {
|
||||||
logger = LoggerFactory.getLogger(this.getClass());
|
logger = LoggerFactory.getLogger(this.getClass());
|
||||||
}
|
}
|
||||||
|
|
||||||
@BeforeMethod
|
@BeforeMethod
|
||||||
public void SetUp() {
|
public void setUp() {
|
||||||
bindings = new Properties();
|
bindings = new Properties();
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterMethod
|
@AfterMethod
|
||||||
public void TearDown() {
|
public void tearDown() {
|
||||||
bindings = null;
|
bindings = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lookup a control function by name and invoke it with a variable number of args
|
* Lookup a control function by name and invoke it with a variable number of args
|
||||||
*/
|
*/
|
||||||
@ -53,13 +52,16 @@ public class RangeTests extends RefineTest {
|
|||||||
return function.call(bindings, args);
|
return function.call(bindings, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRangeInvalidParams() {
|
public void testRangeInvalidParams() {
|
||||||
// Test number of arguments
|
// Test number of arguments
|
||||||
Assert.assertTrue(invoke("range") instanceof EvalError);
|
Assert.assertTrue(invoke("range") instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", "") instanceof EvalError);
|
Assert.assertTrue(invoke("range", "") instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", "one","two","three") instanceof EvalError);
|
Assert.assertTrue(invoke("range", "1, 2, 3, 4") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1, 2, 3", "4") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1", "2, 3, 4") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1, 2", "3", "4") instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", 1, 2, 3, 4) instanceof EvalError);
|
Assert.assertTrue(invoke("range", 1, 2, 3, 4) instanceof EvalError);
|
||||||
|
|
||||||
// Test invalid single string argument types
|
// Test invalid single string argument types
|
||||||
@ -67,77 +69,242 @@ public class RangeTests extends RefineTest {
|
|||||||
Assert.assertTrue(invoke("range", "a") instanceof EvalError);
|
Assert.assertTrue(invoke("range", "a") instanceof EvalError);
|
||||||
|
|
||||||
// Test invalid single string numeric arguments
|
// Test invalid single string numeric arguments
|
||||||
Assert.assertTrue(invoke("range", "-1") instanceof EvalError);
|
|
||||||
Assert.assertTrue(invoke("range", "1,") instanceof EvalError);
|
Assert.assertTrue(invoke("range", "1,") instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", ",") instanceof EvalError);
|
Assert.assertTrue(invoke("range", ",") instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", ",2") instanceof EvalError);
|
Assert.assertTrue(invoke("range", ",2") instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", "1.5") instanceof EvalError);
|
Assert.assertTrue(invoke("range", "1.5") instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", ",12.3, 2") instanceof EvalError);
|
Assert.assertTrue(invoke("range", ",12.3, 2") instanceof EvalError);
|
||||||
|
|
||||||
|
// Test invalid double string arguments
|
||||||
|
Assert.assertTrue(invoke("range", "1", "") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "", "1") instanceof EvalError);
|
||||||
|
|
||||||
|
Assert.assertTrue(invoke("range", "1,", "2") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1", "2,") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1.5", "3") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1", "3.5") instanceof EvalError);
|
||||||
|
|
||||||
|
// Test invalid triple string arguments
|
||||||
|
Assert.assertTrue(invoke("range", "", "", "") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1", "", "") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "", "1", "") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "", "", "1") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1", "2", "") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "", "1", "2") instanceof EvalError);
|
||||||
|
|
||||||
|
Assert.assertTrue(invoke("range", "1,", "2", "1") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1", "2,", "1") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1", "2", "1,") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1.5", "3", "1") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1", "3.5", "1") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "1", "3,", "1.5") instanceof EvalError);
|
||||||
|
|
||||||
// Test invalid numeric arguments
|
// Test invalid numeric arguments
|
||||||
Assert.assertTrue(invoke("range", 1.2) instanceof EvalError);
|
Assert.assertTrue(invoke("range", 1.2) instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", 1.2, 4.5) instanceof EvalError);
|
Assert.assertTrue(invoke("range", 1.2, 4.5) instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", 1.2, 5, 3) instanceof EvalError);
|
Assert.assertTrue(invoke("range", 1.2, 5, 3) instanceof EvalError);
|
||||||
Assert.assertTrue(invoke("range", -1) instanceof EvalError);
|
|
||||||
Assert.assertTrue(invoke("range", -1, 2) instanceof EvalError);
|
|
||||||
Assert.assertTrue(invoke("range", -1, 5, 3) instanceof EvalError);
|
|
||||||
|
|
||||||
// Test invalid mixed arguments
|
// Test invalid mixed arguments
|
||||||
Assert.assertTrue(invoke("range", 1, "2, 3") instanceof EvalError);
|
|
||||||
Assert.assertTrue(invoke("range", 1, "") instanceof EvalError);
|
Assert.assertTrue(invoke("range", 1, "") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "", 1) instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", 1, "a") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "a", 1) instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", 1, "", "") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "", 1, "") instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", "", "", 1) instanceof EvalError);
|
||||||
|
Assert.assertTrue(invoke("range", 1.5, "2", 1) instanceof EvalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRangeValidStringParams() {
|
public void testRangeValidSingleStringParams() {
|
||||||
// Test valid single string argument
|
// Test valid single string containing one arg
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "3"))), "0, 1, 2, 3");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "3"))), "0, 1, 2");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", " 3 "))), "0, 1, 2, 3");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", " 3 "))), "0, 1, 2");
|
||||||
|
|
||||||
// Test valid double string arguments
|
// Test valid single string containing two args
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 1"))), "1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 1"))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5"))), "1, 2, 3, 4, 5");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5, 1"))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5, 1"))), "5, 4, 3, 2, 1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5"))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", " 1 ,5"))), "1, 2, 3, 4");
|
||||||
// Test valid triple string arguments
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5 "))), "1, 2, 3, 4");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 3, 0"))), "");
|
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 1, 1"))), "1");
|
// Test valid single string containing three args
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5, 10"))), "1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 1, 0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 1, 1"))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5, 2"))), "1, 3, 5");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5, -1"))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5, 1, 2"))), "5, 3, 1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5, 0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5, 1"))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5, 2"))), "1, 3");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5, 1, -2"))), "5, 3");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5, 1, -1"))), "5, 4, 3, 2");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5, 1, 0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5, 1, 1"))), "");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", " 1 , 5, 1"))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5 ,1"))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5, 1 "))), "1, 2, 3, 4");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRangeValidDoubleStringParams() {
|
||||||
|
// Test valid double string containing two args
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "2", "1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "1"))), "-1, 0");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "5"))), "1, 2, 3, 4");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", " -1 ", "1"))), "-1, 0");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", " 5 "))), "1, 2, 3, 4");
|
||||||
|
|
||||||
|
// Test valid double string containing three args
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5, 0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5, 0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5, -1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5, 1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5, 1"))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5, -1"))), "1, 0, -1, -2, -3, -4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5, 2"))), "-1, 1, 3");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5, -2"))), "1, -1, -3");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5, 10"))), "-1");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5, -10"))), "1");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1, 5", "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, -5", "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1, 5", "-1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, -5", "1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1, 5", "1"))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, -5", "-1"))), "1, 0, -1, -2, -3, -4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1, 5", "2"))), "-1, 1, 3");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, -5", "-2"))), "1, -1, -3");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1, 5", "10"))), "-1");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, -5", "-10"))), "1");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", " -1 , 5", "1"))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1, 5" , "1"))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1, 5", " 1 "))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", " -1 ", "5, 1"))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", " 5 , 1"))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", " -1 ", "5, 1 "))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test public void testRangeValidTripleStringParams() {
|
||||||
|
// Test valid triple string containing three arguments
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5", "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5", "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5", "-1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5", "1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5", "1"))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5", "-1"))), "1, 0, -1, -2, -3, -4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5", "2"))), "-1, 1, 3");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5", "-2"))), "1, -1, -3");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1", "5", "10"))), "-1");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "-5", "-10"))), "1");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", " -1 , 5, 1"))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1, 5 , 1"))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "-1, 5, 1 "))), "-1, 0, 1, 2, 3, 4");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRangeValidIntegerParams() {
|
public void testRangeValidIntegerParams() {
|
||||||
// Test valid single integer argument
|
// Test valid single integer argument
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 0))), "0");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 0))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5))), "0, 1, 2, 3, 4, 5");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5))), "0, 1, 2, 3, 4");
|
||||||
|
|
||||||
// Test valid double integer arguments
|
// Test valid double integer arguments
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5))), "1, 2, 3, 4, 5");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", -1, 5))), "-1, 0, 1, 2, 3, 4");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, 1))), "5, 4, 3, 2, 1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, 1))), "");
|
||||||
|
|
||||||
// Test valid triple integer arguments
|
// Test valid triple integer arguments
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, -1))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, 0))), "");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, 0))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, 2))), "1, 3, 5");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, 1, 1))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, 1, 2))), "5, 3, 1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, 1))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, 2))), "1, 3");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, 1, -2))), "5, 3");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRangeValidMixedParams() {
|
public void testRangeValidMixedParams() {
|
||||||
// Test when each argument is of type integer/ string
|
// Test two valid arguments, with a single string arg (containing one arg) and a single int arg
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5))), "1, 2, 3, 4, 5");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1))), "5, 4, 3, 2, 1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1"))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5"))), "1, 2, 3, 4, 5");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5"))), "1, 2, 3, 4");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1"))), "5, 4, 3, 2, 1");
|
|
||||||
|
// Test two valid arguments, with a single string arg (containing two args) and a single int arg
|
||||||
// Test when step is an integer (e.g. range(value, 1))
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5", -1))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 3", 0))), "");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5", 0))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 1", 1))), "1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5", 1))), "1, 2, 3, 4");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5", 10))), "1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5", 2))), "1, 3");
|
||||||
|
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1, 5", 2))), "1, 3, 5");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5, -1"))), "");
|
||||||
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5, 1", 2))), "5, 3, 1");
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5, 0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5, 1"))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5, 2"))), "1, 3");
|
||||||
|
|
||||||
|
// Test three valid arguments, with a single string arg (containing one arg) and two int args
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5, -1))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5, 0))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5, 1))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5, 2))), "1, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1, 1))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1, 0))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1, -1))), "5, 4, 3, 2");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1, -2))), "5, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5", -1))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5", 0))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5", 1))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5", 2))), "1, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1", 1))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1", 0))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1", -1))), "5, 4, 3, 2");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1", -2))), "5, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, "-1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, "1"))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, 5, "2"))), "1, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, 1, "1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, 1, "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, 1, "-1"))), "5, 4, 3, 2");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, 1, "-2"))), "5, 3");
|
||||||
|
|
||||||
|
// Test three valid arguments, with two string args and one int arg
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "5", -1))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "5", 0))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "5", 1))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", "5", 2))), "1, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", "1", 1))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", "1", 0))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", "1", -1))), "5, 4, 3, 2");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", "1", -2))), "5, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5, "-1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5, "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5, "1"))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "1", 5, "2"))), "1, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1, "1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1, "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1, "-1"))), "5, 4, 3, 2");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", "5", 1, "-2"))), "5, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5", "-1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5", "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5", "1"))), "1, 2, 3, 4");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 1, "5", "2"))), "1, 3");
|
||||||
|
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1", "1"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1", "0"))), "");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1", "-1"))), "5, 4, 3, 2");
|
||||||
|
Assert.assertEquals(String.join(", ", (String[]) (invoke("range", 5, "1", "-2"))), "5, 3");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user