ColumnFixtureTest.java :  » Testing » StoryTestIQ » fit » Java Open Source

Java Open Source » Testing » StoryTestIQ 
StoryTestIQ » fit » ColumnFixtureTest.java
// Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
// Released under the terms of the GNU General Public License version 2 or later.
package fit;

import junit.framework.TestCase;
import java.lang.reflect.*;

public class ColumnFixtureTest extends TestCase {
  private TestFixture fixture;

  static class TestFixture extends ColumnFixture {
    public int method() {
      return 86;
    }

    public int field;

    public String stringField;

    public String stringMethod() {
      return null;
    }
  }

  protected void setUp() throws Exception {
    fixture = new TestFixture();
  }

  public void testBindColumnToMethod() throws Exception {
    String[] methodSpecifiers = new String[] { "method()", "method?", "method!", "string method()",
        "string method?", "string method!" };
    String[] resultingMethodName = new String[] { "method", "method", "method", "stringMethod",
        "stringMethod", "stringMethod" };
    for (int i = 0; i < methodSpecifiers.length; i++) {
      Parse table = new Parse("<table><tr><td>" + methodSpecifiers[i] + "</td></tr></table>");
      Parse tableHead = table.parts.parts;
      fixture.bind(tableHead);
      assertNotNull(methodSpecifiers[i] + " no binding found.", fixture.columnBindings[0]);
      Method method = fixture.columnBindings[0].adapter.method;
      assertNotNull(methodSpecifiers[i] + "no method found.", method);
      assertEquals(resultingMethodName[i], method.getName());
    }
  }

  public void testBindColumnToField() throws Exception {
    Parse table = new Parse("<table><tr><td>field</td></tr></table>");
    Parse tableHead = table.parts.parts;
    fixture.bind(tableHead);
    assertNotNull(fixture.columnBindings[0]);
    Field field = fixture.columnBindings[0].adapter.field;
    assertNotNull(field);
    assertEquals("field", field.getName());
  }

  public void testGracefulColumnNames() throws Exception {
    Parse table = new Parse("<table><tr><td>string field</td></tr></table>");
    Parse tableHead = table.parts.parts;
    fixture.bind(tableHead);
    assertNotNull(fixture.columnBindings[0]);
    Field field = fixture.columnBindings[0].adapter.field;
    assertNotNull(field);
    assertEquals("stringField", field.getName());
  }

  public void testBindColumnToFieldSymbol() throws Exception {
    Fixture.setSymbol("Symbol", "42");
    Parse table = new Parse("<table><tr><td>field=</td></tr><tr><td>Symbol</td></tr></table>");
    Parse rows = table.parts;
    fixture.doRows(rows);
    Binding binding = fixture.columnBindings[0];
    assertNotNull(binding);
    assertEquals(Binding.RecallBinding.class, binding.getClass());
    Field field = binding.adapter.field;
    assertNotNull(field);
    assertEquals("field", field.getName());
    assertEquals(42, fixture.field);
  }

  public void testBindColumnToMethodSymbol() throws Exception {
    Parse table = new Parse("<table><tr><td>=method?</td></tr><tr><td>MethodSymbol</td></tr></table>");
    Parse rows = table.parts;
    fixture.doRows(rows);
    Binding binding = fixture.columnBindings[0];
    assertNotNull(binding);
    assertEquals(Binding.SaveBinding.class, binding.getClass());
    Method method = binding.adapter.method;
    assertEquals("method", method.getName());
    assertEquals("86", Fixture.getSymbol("MethodSymbol"));
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.