@Test
public void testExpressionEqualsGroupId() {

    ColumnMatchDataRouter router = new ColumnMatchDataRouter();
    SimpleRouterContext routingContext = new SimpleRouterContext();
    HashSet<Node> nodes = new HashSet<Node>();
    nodes.add(new Node("10", "server"));
    nodes.add(new Node("20", "server"));
    nodes.add(new Node("3", "client"));
    nodes.add(new Node("2", "client"));
    nodes.add(new Node("1", "client"));
    TriggerHistory triggerHist = new TriggerHistory("mytable","ID","ID,GROUP_ID,COLUMN2");
    Data data = new Data();
    data.setDataId(1);
    data.setDataEventType(DataEventType.INSERT);
    data.setRowData("1,client,Super Dooper");
    data.setTriggerHistory(triggerHist);
    Table table = new Table();
    NodeChannel nodeChannel = new NodeChannel();
    Router route = new Router();
    route.setRouterExpression("GROUP_ID = :NODE_GROUP_ID");
    route.setRouterId("route1");
    DataMetaData dataMetaData = new DataMetaData(data, table, route, nodeChannel);
    
    Set<String> result = router.routeToNodes(routingContext, dataMetaData, nodes, false, false, null);
    assertEquals(3, result.size());
    assertEquals(true, result.contains("1"));
    assertEquals(true, result.contains("2"));
    assertEquals(true, result.contains("3"));
}