Package com.google.visualization.datasource.query

Source Code of com.google.visualization.datasource.query.ColumnColumnFilterTest

// Copyright 2009 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.visualization.datasource.query;

import com.google.visualization.datasource.datatable.ColumnDescription;
import com.google.visualization.datasource.datatable.DataTable;
import com.google.visualization.datasource.datatable.TableCell;
import com.google.visualization.datasource.datatable.TableRow;
import com.google.visualization.datasource.datatable.value.ValueType;

import junit.framework.TestCase;


/**
* Test for ColumnColumnFilter
*
* @author Yonatan B.Y.
*/
public class ColumnColumnFilterTest extends TestCase {
  public void testMatch() {
    TableRow row = new TableRow();
    row.addCell(new TableCell("a"));
    row.addCell(new TableCell(123));
    row.addCell(new TableCell("a"));

    DataTable table = new DataTable();
    table.addColumn(new ColumnDescription("c1", ValueType.TEXT, "c1"));
    table.addColumn(new ColumnDescription("c2", ValueType.TEXT, "c2"));
    table.addColumn(new ColumnDescription("c3", ValueType.TEXT, "c3"));

    ColumnColumnFilter filter = new ColumnColumnFilter(new SimpleColumn("c1"),
        new SimpleColumn("c3"), ComparisonFilter.Operator.LE);
    assertTrue(filter.isMatch(table, row));
  }

  public void testNoMatch() {
    TableRow row = new TableRow();
    row.addCell(new TableCell("a"));
    row.addCell(new TableCell(123));
    row.addCell(new TableCell("a"));

    DataTable table = new DataTable();
    table.addColumn(new ColumnDescription("c1", ValueType.TEXT, "c1"));
    table.addColumn(new ColumnDescription("c2", ValueType.TEXT, "c2"));
    table.addColumn(new ColumnDescription("c3", ValueType.TEXT, "c3"));

    ColumnColumnFilter filter = new ColumnColumnFilter(new SimpleColumn("c3"),
        new SimpleColumn("c1"), ComparisonFilter.Operator.NE);
    assertFalse(filter.isMatch(table, row));
  }

  public void testToQueryString() {
    ColumnColumnFilter filter1 = new ColumnColumnFilter(new SimpleColumn("c3"),
        new AggregationColumn(new SimpleColumn("c4"), AggregationType.AVG),
        ComparisonFilter.Operator.NE);
    ColumnColumnFilter filter2 = new ColumnColumnFilter(
        new AggregationColumn(new SimpleColumn("c4"), AggregationType.SUM),
        new SimpleColumn("c1"), ComparisonFilter.Operator.STARTS_WITH);

    assertEquals("`c3` != AVG(`c4`)", filter1.toQueryString());
    assertEquals("SUM(`c4`) STARTS WITH `c1`", filter2.toQueryString());
  }
}
TOP

Related Classes of com.google.visualization.datasource.query.ColumnColumnFilterTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.