@@ -1576,7 +1576,7 @@ void testDefaultTable() {
15761576 table .addRawRow ("000" , "*" , "VALUE:000-*" );
15771577 table .addRawRow ("001" , "901" , "VALUE:001-901" );
15781578 table .addRawRow ("001" , "*" , "VALUE:001-*" );
1579- table .addRawRow ("002" , "902" , "VALUE:001-901 " );
1579+ table .addRawRow ("002" , "902" , "VALUE:002-902 " );
15801580 provider .addTable (table );
15811581
15821582 StagingSchema schema = new StagingSchema ("test_default_table" );
@@ -1605,6 +1605,13 @@ void testDefaultTable() {
16051605 assertEquals (1 , result .getContext ().size ());
16061606 assertEquals ("000-900" , result .getContext ().get ("output1" ));
16071607
1608+ // check same case with getDefault method
1609+ context = new HashMap <>();
1610+ context .put ("input1" , "000" );
1611+ Result result1 = new Result (context );
1612+ assertEquals ("900" , engine .getDefault (input2 , context , result1 ));
1613+ assertFalse (result1 .hasErrors ());
1614+
16081615 // test a case where there was a fallthrough match in the default table
16091616 context = new HashMap <>();
16101617 context .put ("input1" , "002" );
@@ -1613,6 +1620,14 @@ void testDefaultTable() {
16131620 assertEquals (Type .STAGED , result .getType ());
16141621 assertFalse (result .hasErrors ());
16151622 assertEquals (1 , result .getContext ().size ());
1623+ assertEquals ("002-902" , result .getContext ().get ("output1" ));
1624+
1625+ // check same case with getDefault method
1626+ context = new HashMap <>();
1627+ context .put ("input1" , "002" );
1628+ result1 = new Result (context );
1629+ assertEquals ("902" , engine .getDefault (input2 , context , result1 ));
1630+ assertFalse (result1 .hasErrors ());
16161631
16171632 // test a case where the default_table did not exist
16181633 schema .getInputs ().stream ().filter (i -> i .getDefaultTable () != null ).forEach (i -> i .setDefaultTable ("does_not_exist" ));
@@ -1624,6 +1639,15 @@ void testDefaultTable() {
16241639 assertEquals ("input2" , result .getErrors ().get (0 ).getKey ());
16251640 assertEquals ("Default table does not exist: does_not_exist" , result .getErrors ().get (0 ).getMessage ());
16261641
1642+ // check same case with getDefault method
1643+ context = new HashMap <>();
1644+ context .put ("input1" , "000" );
1645+ result1 = new Result (context );
1646+ assertEquals ("" , engine .getDefault (input2 , context , result1 ));
1647+ assertEquals (1 , result1 .getErrors ().size ());
1648+ assertEquals ("input2" , result1 .getErrors ().get (0 ).getKey ());
1649+ assertEquals ("Default table does not exist: does_not_exist" , result1 .getErrors ().get (0 ).getMessage ());
1650+
16271651 // test a case where the default table did not find a match
16281652 schema .getInputs ().stream ().filter (i -> i .getDefaultTable () != null ).forEach (i -> i .setDefaultTable ("table_input2_default" ));
16291653 provider .getTable ("table_input2_default" ).setRawRows (new ArrayList <>());
@@ -1635,6 +1659,15 @@ void testDefaultTable() {
16351659 assertEquals (1 , result .getErrors ().size ());
16361660 assertEquals ("input2" , result .getErrors ().get (0 ).getKey ());
16371661 assertEquals ("Default table table_input2_default did not find a match" , result .getErrors ().get (0 ).getMessage ());
1662+
1663+ // check same case with getDefault method
1664+ context = new HashMap <>();
1665+ context .put ("input1" , "001" );
1666+ result1 = new Result (context );
1667+ assertEquals ("" , engine .getDefault (input2 , context , result1 ));
1668+ assertEquals (1 , result1 .getErrors ().size ());
1669+ assertEquals ("input2" , result .getErrors ().get (0 ).getKey ());
1670+ assertEquals ("Default table table_input2_default did not find a match" , result .getErrors ().get (0 ).getMessage ());
16381671 }
16391672
16401673}
0 commit comments