[Profit-devs] SF.net SVN: profit: [82] branches/genJavaDirStructSameAsFitnesse/profit
Status: Planning
Brought to you by:
pgr0ss
|
From: <yz...@us...> - 2006-11-29 13:03:35
|
Revision: 82
http://svn.sourceforge.net/profit/?rev=82&view=rev
Author: yzhou12
Date: 2006-11-29 05:03:34 -0800 (Wed, 29 Nov 2006)
Log Message:
-----------
Fixed regex parser for javaToFitnesse.
Modified Paths:
--------------
branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParser.java
branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/SimpleEndToEndTests.java
branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParserTest.java
Modified: branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParser.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParser.java 2006-11-09 05:20:43 UTC (rev 81)
+++ branches/genJavaDirStructSameAsFitnesse/profit/src/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParser.java 2006-11-29 13:03:34 UTC (rev 82)
@@ -11,7 +11,7 @@
public class RegexJavaParser {
- private Pattern packagePattern;
+ //private Pattern packagePattern;
private Pattern classPattern;
private Pattern filePathPattern;
private Pattern methodPattern;
@@ -19,7 +19,7 @@
private Pattern assignmentPattern;
public RegexJavaParser() {
- packagePattern = Pattern.compile("package (.*);");
+ //packagePattern = Pattern.compile("package (.*);");
classPattern = Pattern.compile("public class (\\w+)TestCase(\\d+)");
filePathPattern = Pattern.compile("FILE_PATH.*=.*\"(.*)\"");
methodPattern = Pattern.compile("public void test.*\\{(.*\n)+\\}", Pattern.MULTILINE);
@@ -41,13 +41,16 @@
return new TestTable(tableNumber, fixtureClassName, columnNames, values, filePath);
}
- private String getFixtureName(String javaCode) {
- String packageString = getPackage(javaCode);
+ private String getFixtureName(String javaCode) {
+ //String packageString = getPackage(javaCode);
String fixtureName = firstGroupOfPatternMatch(classPattern, javaCode);
+ String packageString = getPackage(javaCode, fixtureName);
return packageString != null ? packageString + "." + fixtureName : fixtureName;
}
- private String getPackage(String javaCode) {
+ //private String getPackage(String javaCode) {
+ private String getPackage(String javaCode, String fixtureName) {
+ Pattern packagePattern = Pattern.compile(String.format("import (.*)\\.%s;", fixtureName));
return firstGroupOfPatternMatch(packagePattern, javaCode);
}
Modified: branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/SimpleEndToEndTests.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/SimpleEndToEndTests.java 2006-11-09 05:20:43 UTC (rev 81)
+++ branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/SimpleEndToEndTests.java 2006-11-29 13:03:34 UTC (rev 82)
@@ -7,7 +7,6 @@
import junit.framework.JUnit4TestAdapter;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import com.thoughtworks.tools.profit.tofitnesse.RegexJavaParser;
@@ -28,77 +27,70 @@
}
@Test
- public void test() {
- System.err.println("FIXME: after supporting the changed path scheme in JavaToFitnesse, enable the tests in "
- + SimpleEndToEndTests.class);
- }
-
- // @Test
- @Ignore
public void testShouldReturnSameTableOnARoundTrip() throws Exception {
- table.append("!|test.EndToEndScenario|\n");
+ table.append("!|test.fixture.EndToEndScenario|\n");
table.append("|one|two|three|sum|\n");
table.append("|4|5|6|15|\n");
assertRoundtripProducesSameTable();
}
- @Ignore
+ @Test
public void testShouldReturnSameMultilineTable() throws Exception {
- table.append("!|test.EndToEndScenario|\n");
+ table.append("!|test.fixture.EndToEndScenario|\n");
table.append("|one|two|three|sum|\n");
table.append("|4|5|6|15|\n");
table.append("|1|7|3|13|\n");
assertRoundtripProducesSameTable();
}
- @Ignore
+ @Test
public void testShouldReturnSameTableForMethodColumn() throws Exception {
- table.append("!|test.EndToEndScenario|\n");
+ table.append("!|test.fixture.EndToEndScenario|\n");
table.append("|one|two|three|sum?|\n");
table.append("|4|5|6|15|\n");
table.append("|1|7|3|13|\n");
assertRoundtripProducesSameTable();
}
- @Ignore
+ @Test
public void testShouldReturnSameTableForStringField() throws Exception {
- table.append("!|test.EndToEndScenario|\n");
+ table.append("!|test.fixture.EndToEndScenario|\n");
table.append("|stringColumn|\n");
table.append("|hello|\n");
table.append("|world|\n");
assertRoundtripProducesSameTable();
}
- @Ignore
+ @Test
public void testShouldReturnSameTableForStringMethod() throws Exception {
- table.append("!|test.EndToEndScenario|\n");
+ table.append("!|test.fixture.EndToEndScenario|\n");
table.append("|stringMethod?|\n");
table.append("|hello|\n");
table.append("|world|\n");
assertRoundtripProducesSameTable();
}
- @Ignore
+ @Test
public void testShouldReturnSameTableForIntegerField() throws Exception {
- table.append("!|test.EndToEndScenario|\n");
+ table.append("!|test.fixture.EndToEndScenario|\n");
table.append("|integerColumn|\n");
table.append("|4|\n");
table.append("|7|\n");
assertRoundtripProducesSameTable();
}
- @Ignore
+ @Test
public void testShouldReturnSameTableForIntegerMethod() throws Exception {
- table.append("!|test.EndToEndScenario|\n");
+ table.append("!|test.fixture.EndToEndScenario|\n");
table.append("|integerMethod?|\n");
table.append("|4|\n");
table.append("|7|\n");
assertRoundtripProducesSameTable();
}
- @Ignore
+ @Test
public void shouldReturnSameTableForRowFixture() throws Exception {
- table.append("!|test.MyRowFixture|\n");
+ table.append("!|test.fixture.MyRowFixture|\n");
table.append("|toString?|hashCode?|\n");
table.append("|dog|4|\n");
table.append("|cat|5|\n");
@@ -108,13 +100,17 @@
private void assertRoundtripProducesSameTable() throws Exception {
TestTable javaCode = new FitnesseParser().parse(table.toString())[0];
String javaSource = javaCode.toJavaSource();
-
String fitnesseSource = toFitnesseUsingRegex(javaSource);
+ //System.out.println(fitnesseSource);
assertEquals(table.toString(), fitnesseSource);
String fitnesseTable = toFitnesseUsingAntlr(javaSource);
- assertEquals(table.toString(), fitnesseTable);
-
+//System.out.println(fitnesseTable);
+// assertEquals(table.toString(), fitnesseTable);
+ System.err
+ .println("FIXME: after supporting the changed package scheme in AST parser, "
+ + "enable the assertion assertRoundtripProducesSameTable() in "
+ + SimpleEndToEndTests.class);
}
private String toFitnesseUsingAntlr(String javaSource) {
Modified: branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParserTest.java
===================================================================
--- branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParserTest.java 2006-11-09 05:20:43 UTC (rev 81)
+++ branches/genJavaDirStructSameAsFitnesse/profit/test/com/thoughtworks/tools/profit/tofitnesse/RegexJavaParserTest.java 2006-11-29 13:03:34 UTC (rev 82)
@@ -162,8 +162,9 @@
code.append("public class EndToEndScenarioTestCase1 {\n");
code.append("}");
TestTable actual = parser.parse(code.toString());
-
- TestTable expected = new TestTable("com.thoughtworks.EndToEndScenario", new String[0], new String[0][0]);
+ TestTable expected = new TestTable("EndToEndScenario", new String[0], new String[0][0]);
+ System.out.println(expected.toString());
+ System.out.println(actual.toString());
Assert.assertEquals(expected, actual);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|