/**
*
*/
package photoSpreadParser.photoSpreadExpression;
import junit.framework.TestCase;
import photoSpread.PhotoSpread;
import photoSpreadObjects.PhotoSpreadObject;
import photoSpreadObjects.PhotoSpreadStringObject;
import photoSpreadParser.photoSpreadNormalizedExpression.PhotoSpreadNormalizedExpression;
import photoSpreadTable.PhotoSpreadCell;
import photoSpreadTable.PhotoSpreadTableModel;
import photoSpreadUtilities.TreeSetRandomSubsetIterable;
/**
* @author paepcke
*
*/
public class PhotoSpreadConditionTest extends TestCase {
PhotoSpreadTableModel _tableModel = null;
PhotoSpreadCondition _condLeftLowerCase = null;
PhotoSpreadCondition _condLeftUpperCase = null;
PhotoSpreadCondition _condLeftMixedCase = null;
PhotoSpreadCell _cell_flower = null;
PhotoSpreadCell _cell_Animal = null;
PhotoSpreadCell _cell_auThORs = null;
class PhotoSpreadStringCondition extends PhotoSpreadCondition {
public PhotoSpreadStringCondition(String _lhs, String op) {
super(_lhs, op);
}
@Override
public void forceObject(PhotoSpreadObject object) {
// TODO Auto-generated method stub
}
@Override
public boolean satisfiesCondition(PhotoSpreadObject object) {
return _compOp.satisfiesOperator(_lhs, ((PhotoSpreadStringObject) object).toString());
}
@Override
public String toString() {
return null;
}
@Override
public TreeSetRandomSubsetIterable<PhotoSpreadObject> evaluate(
PhotoSpreadCell cell) {
// TODO Auto-generated method stub
return null;
}
@Override
public PhotoSpreadNormalizedExpression normalize(PhotoSpreadCell cell) {
throw new RuntimeException("Normalize not implemented for PhotoSpreadCondition");
}
}
/* (non-Javadoc)
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
// Numrows:
PhotoSpread.photoSpreadPrefs.setProperty(PhotoSpread.sheetNumRowsKey, "10");
// numCols
PhotoSpread.photoSpreadPrefs.setProperty(PhotoSpread.sheetNumColsKey, "12");
_tableModel = new PhotoSpreadTableModel();
_cell_flower = new PhotoSpreadCell(new PhotoSpreadTableModel(), 1,1);
_cell_Animal= new PhotoSpreadCell(new PhotoSpreadTableModel(), 1,2);
_cell_auThORs = new PhotoSpreadCell(new PhotoSpreadTableModel(), 1,3);
_cell_flower.addObject(new PhotoSpreadStringObject(_cell_flower, "flower"));
_cell_Animal.addObject(new PhotoSpreadStringObject(_cell_Animal, "Animal"));
_cell_auThORs.addObject(new PhotoSpreadStringObject(_cell_auThORs, "auThORs"));
_condLeftLowerCase = new PhotoSpreadStringCondition("flower", "=");
_condLeftUpperCase = new PhotoSpreadStringCondition("Animal", "=");
_condLeftMixedCase = new PhotoSpreadStringCondition("auThORs", "=");
}
public void testSatisfiesOperator () {
assertEquals("Left lower case, right lower case", true, _condLeftLowerCase.satisfiesCondition(
new PhotoSpreadStringObject(_cell_flower, "flower")));
assertEquals("Left lower case, right Upper case", true, _condLeftLowerCase.satisfiesCondition(
new PhotoSpreadStringObject(_cell_flower, "Flower")));
assertEquals("Left Upper case, right Upper case", true, _condLeftLowerCase.satisfiesCondition(
new PhotoSpreadStringObject(_cell_Animal, "Animal")));
assertEquals("Left Upper case, right lower case", true, _condLeftLowerCase.satisfiesCondition(
new PhotoSpreadStringObject(_cell_flower, "animal")));
}
}