Author: konstantin.mishin
Date: 2008-02-27 11:42:30 -0500 (Wed, 27 Feb 2008)
New Revision: 6385
Added:
trunk/framework/test/src/test/java/org/richfaces/model/ListSequenceDataModelTest.java
trunk/framework/test/src/test/java/org/richfaces/model/impl/expressive/MethodBindingExpressionTest.java
Modified:
trunk/framework/test/src/main/java/org/ajax4jsf/tests/MockValueExpression.java
trunk/framework/test/src/test/java/org/richfaces/model/ModifiableModelTest.java
Log:
RF-1743
Modified: trunk/framework/test/src/main/java/org/ajax4jsf/tests/MockValueExpression.java
===================================================================
---
trunk/framework/test/src/main/java/org/ajax4jsf/tests/MockValueExpression.java 2008-02-27
16:42:13 UTC (rev 6384)
+++
trunk/framework/test/src/main/java/org/ajax4jsf/tests/MockValueExpression.java 2008-02-27
16:42:30 UTC (rev 6385)
@@ -110,7 +110,6 @@
*/
@Override
public boolean isLiteralText() {
- // TODO Auto-generated method stub
- return true;
+ return false;
}
}
Added:
trunk/framework/test/src/test/java/org/richfaces/model/ListSequenceDataModelTest.java
===================================================================
--- trunk/framework/test/src/test/java/org/richfaces/model/ListSequenceDataModelTest.java
(rev 0)
+++
trunk/framework/test/src/test/java/org/richfaces/model/ListSequenceDataModelTest.java 2008-02-27
16:42:30 UTC (rev 6385)
@@ -0,0 +1,133 @@
+/**
+ *
+ */
+package org.richfaces.model;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.model.DataVisitor;
+import org.ajax4jsf.model.SequenceRange;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class ListSequenceDataModelTest extends TestCase {
+
+ private List<Integer> list;
+ private ListSequenceDataModel model;
+ private ListSequenceDataModel nullModel;
+
+ /**
+ * @param name
+ */
+ public ListSequenceDataModelTest(String name) {
+ super(name);
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ list = new ArrayList<Integer>();
+ for (int i = 0; i < 10; i++) {
+ list.add(new Integer(i));
+ }
+ model = new ListSequenceDataModel(list);
+ nullModel = new ListSequenceDataModel(null);
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ nullModel = null;
+ model = null;
+ list = null;
+ }
+
+ /**
+ * Test method for {@link org.richfaces.model.ListSequenceDataModel#isRowAvailable()}.
+ */
+ public final void testIsRowAvailable() {
+ assertFalse(nullModel.isRowAvailable());
+ assertTrue(model.isRowAvailable());
+ model.setRowIndex(-1);
+ assertFalse(model.isRowAvailable());
+ }
+
+ /**
+ * Test method for {@link org.richfaces.model.ListSequenceDataModel#getRowCount()}.
+ */
+ public final void testGetRowCount() {
+ assertEquals(model.getRowCount(), list.size());
+ assertEquals(nullModel.getRowCount(), -1);
+ }
+
+ /**
+ * Test method for {@link org.richfaces.model.ListSequenceDataModel#setRowIndex()}
+ * and {@link org.richfaces.model.ListSequenceDataModel#getRowIndex()}.
+ */
+ public final void testRowIndex() {
+ int i = 3;
+ model.setRowIndex(i);
+ assertEquals(model.getRowIndex(), i);
+ }
+
+ /**
+ * Test method for {@link
org.richfaces.model.ListSequenceDataModel#setRowKey(java.lang.Object)}
+ * and {@link org.richfaces.model.ListSequenceDataModel#getRowKey(java.lang.Object)}.
+ */
+ public final void testRowKey() {
+ Integer i = 3;
+ model.setRowKey(i);
+ assertEquals(model.getRowKey(), i);
+ model.setRowKey(null);
+ assertNull(model.getRowKey());
+ }
+
+ /**
+ * Test method for {@link
org.richfaces.model.ListSequenceDataModel#walk(javax.faces.context.FacesContext,
org.ajax4jsf.model.DataVisitor, org.ajax4jsf.model.Range, java.lang.Object)}
+ * and {@link org.richfaces.model.ListSequenceDataModel#getRowData()}.
+ */
+ public final void testWalk() {
+ DataVisitor visitor = new DataVisitor(){
+ public void process(FacesContext context, Object rowKey,
+ Object argument) throws IOException {
+ Object key = model.getRowKey();
+ model.setRowKey(rowKey);
+ assertEquals(model.getRowData(), list.get(((Integer)rowKey).intValue()));
+ model.setRowKey(key);
+ }
+ };
+ try {
+ SequenceRange range = new SequenceRange(0, -1);
+ model.walk(null, visitor, range, null);
+ range = new SequenceRange(0, 5);
+ model.walk(null, visitor, range, null);
+ } catch (IOException e) {
+ fail(e.getMessage());
+ }
+ }
+
+ /**
+ * Test method for {@link
org.richfaces.model.ListSequenceDataModel#ListSequenceDataModel(java.util.List)},
+ * {@link org.richfaces.model.ListSequenceDataModel#setWrappedData(java.lang.Object)}
+ * and {@link org.richfaces.model.ListSequenceDataModel#getWrappedData()} .
+ */
+ public final void testListSequenceDataModel() {
+ assertNull(nullModel.getWrappedData());
+ ListSequenceDataModel dataModel = new ListSequenceDataModel(list);
+ assertSame(dataModel.getWrappedData(), model.getWrappedData());
+
+ }
+
+}
Modified: trunk/framework/test/src/test/java/org/richfaces/model/ModifiableModelTest.java
===================================================================
---
trunk/framework/test/src/test/java/org/richfaces/model/ModifiableModelTest.java 2008-02-27
16:42:13 UTC (rev 6384)
+++
trunk/framework/test/src/test/java/org/richfaces/model/ModifiableModelTest.java 2008-02-27
16:42:30 UTC (rev 6385)
@@ -7,22 +7,22 @@
import java.util.LinkedList;
import java.util.List;
+import javax.el.ValueExpression;
import javax.faces.context.FacesContext;
import org.ajax4jsf.model.DataVisitor;
import org.ajax4jsf.model.ExtendedDataModel;
+import org.ajax4jsf.model.SequenceRange;
import org.ajax4jsf.tests.MockDataModel;
import org.ajax4jsf.tests.MockDataModelListener;
-import org.ajax4jsf.tests.MockRange;
-import org.apache.commons.digester.SetRootRule;
+import org.ajax4jsf.tests.MockValueExpression;
+import org.apache.shale.test.base.AbstractJsfTestCase;
-import junit.framework.TestCase;
-
/**
* @author Konstantin Mishin
*
*/
-public class ModifiableModelTest extends TestCase {
+public class ModifiableModelTest extends AbstractJsfTestCase {
private ModifiableModel model;
private ExtendedDataModel originalModel;
@@ -40,10 +40,10 @@
/* (non-Javadoc)
* @see junit.framework.TestCase#setUp()
*/
- protected void setUp() throws Exception {
+ public void setUp() throws Exception {
super.setUp();
+ var = "var";
originalModel = new MockDataModel();
- var = "var";
filterFields = new LinkedList<FilterField>();
sortFields = new LinkedList<SortField2>();
model = new ModifiableModel(originalModel, var, filterFields, sortFields);
@@ -52,7 +52,7 @@
/* (non-Javadoc)
* @see junit.framework.TestCase#tearDown()
*/
- protected void tearDown() throws Exception {
+ public void tearDown() throws Exception {
model = null;
var = null;
filterFields = null;
@@ -116,17 +116,25 @@
* Test method for {@link
org.richfaces.model.ModifiableModel#walk(javax.faces.context.FacesContext,
org.ajax4jsf.model.DataVisitor, org.ajax4jsf.model.Range, java.lang.Object)}.
*/
public final void testWalk() {
- MockRange range = new MockRange(5);
+ SequenceRange range = new SequenceRange(0, -1);
+ DataVisitor visitor = new DataVisitor(){
+ public void process(FacesContext context, Object rowKey,
+ Object argument) throws IOException {
+ Object key = model.getRowKey();
+ model.setRowKey(rowKey);
+ Object key2 = originalModel.getRowKey();
+ originalModel.setRowKey(rowKey);
+ assertEquals(model.getRowData(), originalModel.getRowData());
+ model.setRowKey(key);
+ originalModel.setRowKey(key2);
+ }
+ };
try {
- model.walk(null, new DataVisitor(){
- public void process(FacesContext context, Object rowKey,
- Object argument) throws IOException {
- Object key = model.getRowKey();
- model.setRowKey(rowKey);
- assertEquals(model.getRowData(), originalModel.getRowData());
- model.setRowKey(key);
- }
- }, range, null);
+ model.walk(null, visitor, range, null);
+ ValueExpression expression = new MockValueExpression(Boolean.TRUE);
+ filterFields.add(new FilterField(expression));
+ sortFields.add(new SortField2(expression, Ordering.ASCENDING));
+ model.walk(null, visitor, range, null);
} catch (IOException e) {
fail(e.getMessage());
}
Added:
trunk/framework/test/src/test/java/org/richfaces/model/impl/expressive/MethodBindingExpressionTest.java
===================================================================
---
trunk/framework/test/src/test/java/org/richfaces/model/impl/expressive/MethodBindingExpressionTest.java
(rev 0)
+++
trunk/framework/test/src/test/java/org/richfaces/model/impl/expressive/MethodBindingExpressionTest.java 2008-02-27
16:42:30 UTC (rev 6385)
@@ -0,0 +1,35 @@
+/**
+ *
+ */
+package org.richfaces.model.impl.expressive;
+
+import org.apache.shale.test.base.AbstractJsfTestCase;
+import org.apache.shale.test.el.MockMethodExpression;
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class MethodBindingExpressionTest extends AbstractJsfTestCase {
+
+ /**
+ * @param name
+ */
+ public MethodBindingExpressionTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Test method for {@link
org.richfaces.model.impl.expressive.MethodBindingExpression#MethodBindingExpression(javax.faces.context.FacesContext,
javax.el.MethodExpression)}
+ * and {@link
org.richfaces.model.impl.expressive.MethodBindingExpression#evaluate(java.lang.Object)}.
+ */
+ public final void testMethodBindingExpression() {
+ String expression = "expression";
+ MethodBindingExpression methodBindingExpression =
+ new MethodBindingExpression(facesContext,
+ new MockMethodExpression(expression, null, String.class));
+
+ assertEquals(methodBindingExpression.evaluate(null), expression);
+ }
+
+}