/*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License, version 2 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/gpl-2.0.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
*
* Copyright 2006 - 2016 Pentaho Corporation. All rights reserved.
*/
package org.pentaho.aggdes.ui;
import java.util.ArrayList;
import java.util.List;
import org.pentaho.aggdes.model.Aggregate;
import org.pentaho.aggdes.model.Attribute;
import org.pentaho.aggdes.model.Measure;
import org.pentaho.aggdes.output.Output;
import org.pentaho.aggdes.ui.model.impl.UIAggregateImpl;
import junit.framework.TestCase;
public class UIAggregateTest extends TestCase {
static class OutputStub implements Output {
public Aggregate getAggregate() {
return null;
}
}
public void testUIAggregateImpl() {
UIAggregateImpl impl = new UIAggregateImpl();
assertNotNull(impl.getAttributes());
assertNotNull(impl.getMeasures());
assertEquals(impl.getAttributes().size(), 0);
assertEquals(impl.getMeasures().size(), 0);
assertEquals(impl.getName(), "");
assertEquals(impl.getCandidateTableName(), "");
assertEquals(impl.getDescription(), "");
assertTrue(impl.getEnabled());
assertEquals(impl.estimateRowCount(), 0.0);
assertEquals(impl.estimateSpace(), 0.0);
assertNull(impl.getOutput());
assertFalse(impl.isAlgoAgg());
// twiddle bits and verify results
impl.setAttributes(null);
assertNull(impl.getAttributes());
impl.setMeasures(null);
assertNull(impl.getMeasures());
impl.setName("test_name");
assertEquals("test_name", impl.getName());
assertEquals("test_name", impl.getCandidateTableName());
impl.setDescription("test_desc");
assertEquals("test_desc", impl.getDescription());
impl.setEnabled(false);
assertEquals(impl.getEnabled(), false);
impl.setAlgoAgg(true);
assertTrue(impl.isAlgoAgg());
List<Attribute> attribList = new ArrayList<Attribute>();
UIAggregateImpl impl2 = new UIAggregateImpl("name_01", "desc_01", attribList);
assertEquals("name_01", impl2.getName());
assertEquals("name_01", impl2.getCandidateTableName());
assertEquals("desc_01", impl2.getDescription());
assertTrue(attribList == impl2.getAttributes());
UIAggregateImpl impl3 = new UIAggregateImpl("name_02", "desc_02", new ArrayList<Attribute>(),
new ArrayList<Measure>());
assertEquals("name_02", impl3.getName());
assertEquals("name_02", impl3.getCandidateTableName());
assertEquals("desc_02", impl3.getDescription());
impl.setEstimateRowCount(1.0);
assertEquals(1.0, impl.estimateRowCount());
impl.setEstimateSpace(1.0);
assertEquals(1.0, impl.estimateSpace());
OutputStub output = new OutputStub();
impl.setOutput(output);
Output out = impl.getOutput();
assertEquals(output, out);
}
}