Package org.richfaces.model

Source Code of org.richfaces.model.ListSequenceDataModelTest

/**
* License Agreement.
*
* Rich Faces - Natural Ajax for Java Server Faces (JSF)
*
* Copyright (C) 2007 Exadel, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
*/
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());
   
  }

}
TOP

Related Classes of org.richfaces.model.ListSequenceDataModelTest

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.