@Test public void testExecNamedParam() { Object[] expectedParameterExpressions = new Object[] {new Constant("xyz")};//$NON-NLS-1$ helpResolveExec("EXEC pm1.sq2(\"in\" = 'xyz')", expectedParameterExpressions);//$NON-NLS-1$ }
/** try entering params out of order */ @Test public void testExecNamedParamsReversed() { Object[] expectedParameterExpressions = new Object[] {new Constant("xyz"), new Constant(new Integer(5))};//$NON-NLS-1$ helpResolveExec("EXEC pm1.sq3(in2 = 5, \"in\" = 'xyz')", expectedParameterExpressions);//$NON-NLS-1$ }
/** * Try entering in no actual parameters, rely entirely on defaults. * This also tests the default value transformation code in ExecResolver. */ @Test public void testExecNamedParamsOptionalParamWithAllDefaults() { Object[] expectedParameterExpressions = helpGetStoredProcDefaultValues(); helpResolveExec("EXEC pm1.sqDefaults()", expectedParameterExpressions);//$NON-NLS-1$ }
@Test public void testExecNamedParams() { Object[] expectedParameterExpressions = new Object[] {new Constant("xyz"), new Constant(new Integer(5))};//$NON-NLS-1$ helpResolveExec("EXEC pm1.sq3(\"in\" = 'xyz', in2 = 5)", expectedParameterExpressions);//$NON-NLS-1$ }
/** try just a few named parameters, in no particular order */ @Test public void testExecNamedParamsOptionalParamWithDefaults2() { Object[] expectedParameterExpressions = helpGetStoredProcDefaultValues(); //override the proper default values in expected results expectedParameterExpressions[3] = new Constant(Boolean.FALSE); expectedParameterExpressions[9] = new Constant(new Integer(666)); helpResolveExec("EXEC pm1.sqDefaults(ininteger = 666, inboolean={b'false'})", expectedParameterExpressions);//$NON-NLS-1$ }
@Test public void testExecNamedParamsOptionalParamWithDefaultsCaseInsensitive() { Object[] expectedParameterExpressions = helpGetStoredProcDefaultValues(); //override the default value for the first parameter expectedParameterExpressions[0] = new Constant("xyz"); //$NON-NLS-1$ helpResolveExec("EXEC pm1.sqDefaults(iNsTrInG = 'xyz')", expectedParameterExpressions);//$NON-NLS-1$ }
@Test public void testExecNamedParamsOptionalParamWithDefaults() { Object[] expectedParameterExpressions = helpGetStoredProcDefaultValues(); //override the default value for the first parameter expectedParameterExpressions[0] = new Constant("xyz"); //$NON-NLS-1$ helpResolveExec("EXEC pm1.sqDefaults(inString = 'xyz')", expectedParameterExpressions);//$NON-NLS-1$ }
/** test omitting a required parameter that has a default value */ @Test public void testExecNamedParamsOmitRequiredParamWithDefaultValue() { Object[] expectedParameterExpressions = new Object[] {new Constant("xyz"), new Constant(new Integer(666)), new Constant("YYZ")};//$NON-NLS-1$ //$NON-NLS-2$ StoredProcedure sp = helpResolveExec("EXEC pm1.sq3b(\"in\" = 'xyz', in2 = 666)", expectedParameterExpressions);//$NON-NLS-1$ assertEquals("EXEC pm1.sq3b(\"in\" => 'xyz', in2 => 666)", sp.toString()); }
/** test omitting an optional parameter */ @Test public void testExecNamedParamsOptionalParam() { Object[] expectedParameterExpressions = new Object[] {new Constant("xyz"), new Constant(null), new Constant("something")};//$NON-NLS-1$ //$NON-NLS-2$ helpResolveExec("EXEC pm1.sq3b(\"in\" = 'xyz', in3 = 'something')", expectedParameterExpressions);//$NON-NLS-1$ }