blob: 52e8ac83cc2ea608799bb5e7af38e830c0e43098 [file] [log] [blame]
/*********************************************************************
* Copyright (c) 2008 The University of York.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
**********************************************************************/
package org.eclipse.epsilon.emc.spreadsheets;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.junit.Test;
public class SpreadsheetColumnTest
{
@Test
public void testIsIdentifiablyByNull()
{
SpreadsheetModel model = new ConcreteModel();
SpreadsheetWorksheet worksheet = new ConcreteWorksheet(model, "WORKSHEET", true);
SpreadsheetColumn column = new ConcreteColumn(worksheet, 1);
assertTrue(!column.isIdentifiableBy(null));
}
@Test
public void testIsIdentifiablyByName()
{
String name = "NAME";
SpreadsheetModel model = new ConcreteModel();
SpreadsheetWorksheet worksheet = new ConcreteWorksheet(model, "WORKSHEET", true);
SpreadsheetColumn column = new ConcreteColumn(worksheet, 1);
column.setName(name);
assertTrue(column.isIdentifiableBy(name));
}
@Test
public void testIsIdentifiablyByNameNotEqual()
{
String name = "NAME";
String alias = "NAMEa";
SpreadsheetModel model = new ConcreteModel();
SpreadsheetWorksheet worksheet = new ConcreteWorksheet(model, "WORKSHEET", true);
SpreadsheetColumn column = new ConcreteColumn(worksheet, 1);
column.setName(name);
assertTrue(!column.isIdentifiableBy(alias));
}
@Test
public void testIsIdentifiablyByNameAliasIndex()
{
String name = "NAME";
String alias = "NAMEa";
SpreadsheetModel model = new ConcreteModel();
SpreadsheetWorksheet worksheet = new ConcreteWorksheet(model, "WORKSHEET", true);
SpreadsheetColumn column = new ConcreteColumn(worksheet, 1);
column.setName(name);
column.setAlias(alias);
assertTrue(column.isIdentifiableBy(name));
assertTrue(column.isIdentifiableBy(alias));
assertTrue(column.isIdentifiableBy(column.getPrefixedIndex()));
assertTrue(!column.isIdentifiableBy(column.getPrefixedIndex() + "2"));
}
@Test
public void testGetIdentifier()
{
String name = "NAME";
String alias = "NAMEa";
SpreadsheetModel model = new ConcreteModel();
SpreadsheetWorksheet worksheet = new ConcreteWorksheet(model, "WORKSHEET", true);
SpreadsheetColumn column = new ConcreteColumn(worksheet, 1);
column.setName(name);
assertTrue(column.getIdentifier().equals(name));
assertTrue(!column.getIdentifier().equals(name + "s"));
column.setName(null);
column.setAlias(alias);
assertTrue(column.getIdentifier().equals(alias));
assertTrue(!column.getIdentifier().equals(alias + "s"));
column.setAlias(null);
assertTrue(column.getIdentifier().equals(column.getPrefixedIndex()));
}
// @Test
// public void testIndexPrefixing()
// {
// SpreadsheetModel model = new ConcreteModel();
// SpreadsheetWorksheet worksheet = new ConcreteWorksheet(model, "WORKSHEET", true);
// SpreadsheetColumn column = new ConcreteColumn(worksheet, 1);
// assertTrue(column.isValidPrefixedIndex(column.getPrefixedIndex()));
// assertTrue(worksheet == column.getWorksheet());
// }
@Test
public void testWorksheetNull()
{
try
{
new ConcreteColumn(null, 1);
fail();
}
catch (IllegalArgumentException e)
{
assert (true);
}
}
@Test
public void testNegativeColumnIndex()
{
SpreadsheetModel model = new ConcreteModel();
SpreadsheetWorksheet worksheet = new ConcreteWorksheet(model, "WORKSHEET", true);
try
{
new ConcreteColumn(worksheet, -1);
fail();
}
catch (IllegalArgumentException e)
{
assert (true);
}
}
}