You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2016/01/24 11:07:42 UTC

[1/2] cayenne git commit: unit tests cleanup:

Repository: cayenne
Updated Branches:
  refs/heads/master 099e4f86c -> b0be7f779


unit tests cleanup:

    * unused class
    * deprecated JUnit API


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/bad8d01f
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/bad8d01f
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/bad8d01f

Branch: refs/heads/master
Commit: bad8d01fe99fb27b18511bc2d227fa2641d5b06c
Parents: 099e4f8
Author: aadamchik <aa...@apache.org>
Authored: Sun Jan 24 12:45:41 2016 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Jan 24 12:45:41 2016 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/TranslationCase.java     | 90 ++++++++------------
 .../apache/cayenne/exp/TstExpressionCase.java   | 52 +++++------
 2 files changed, 58 insertions(+), 84 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/bad8d01f/cayenne-server/src/test/java/org/apache/cayenne/TranslationCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/TranslationCase.java b/cayenne-server/src/test/java/org/apache/cayenne/TranslationCase.java
index e9f70ad..581b7c4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/TranslationCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/TranslationCase.java
@@ -19,60 +19,44 @@
 
 package org.apache.cayenne;
 
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import junit.framework.Assert;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 public class TranslationCase {
 
-    protected Object tstObject;
-    protected String sqlExp;
-    protected String rootEntity;
-
-    public TranslationCase(String rootEntity, Object tstObject, String sqlExp) {
-        this.tstObject = tstObject;
-        this.rootEntity = rootEntity;
-        this.sqlExp = trim("\\b\\w+\\.", sqlExp);
-    }
-
-    protected String trim(String pattern, String str) {
-        return trim(pattern, str, "");
-    }
-
-    protected String trim(String pattern, String str, String subst) {
-        Matcher matcher = Pattern.compile(pattern).matcher(str);
-        return (matcher.find()) ? matcher.replaceFirst(subst) : str;
-    }
-
-    @Override
-    public String toString() {
-        StringBuffer buf = new StringBuffer();
-        buf.append(this.getClass().getName()).append(tstObject);
-        return buf.toString();
-    }
-
-    public void assertTranslatedWell(String translated) {
-        if (sqlExp == null) {
-            Assert.assertNull(translated);
-            return;
-        }
-
-        Assert.assertNotNull(translated);
-
-        // strip column aliases
-        String aliasSubstituted = trim("\\b\\w+\\.", translated);
-        Assert.assertEquals(
-                "Unexpected translation: " + translated + "....",
-                sqlExp,
-                aliasSubstituted);
-    }
-
-    public String getRootEntity() {
-        return rootEntity;
-    }
-
-    public String getSqlExp() {
-        return sqlExp;
-    }
+	protected Object tstObject;
+	protected String sqlExp;
+	protected String rootEntity;
+
+	public TranslationCase(String rootEntity, Object tstObject, String sqlExp) {
+		this.tstObject = tstObject;
+		this.rootEntity = rootEntity;
+		this.sqlExp = sqlExp;
+	}
+
+	@Override
+	public String toString() {
+		StringBuffer buf = new StringBuffer();
+		buf.append(this.getClass().getName()).append(tstObject);
+		return buf.toString();
+	}
+
+	public void assertTranslatedWell(String translated) {
+		if (sqlExp == null) {
+			assertNull(translated);
+			return;
+		}
+
+		assertNotNull(translated);
+		assertEquals("Unexpected translation: " + translated + "....", sqlExp, translated);
+	}
+
+	public String getRootEntity() {
+		return rootEntity;
+	}
+
+	public String getSqlExp() {
+		return sqlExp;
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/bad8d01f/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java
index 11d5fba..173e1a0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java
@@ -19,37 +19,27 @@
 
 package org.apache.cayenne.exp;
 
-import junit.framework.Assert;
-
 import org.apache.cayenne.TranslationCase;
 
-public class TstExpressionCase extends TranslationCase {    
-    protected int totalNodes;
-    protected int totalLeaves;
-    
-    public TstExpressionCase(String rootEntity, Expression cayenneExp, String sqlExp, int totalNodes, int totalLeaves) {
-        super(rootEntity, cayenneExp, sqlExp);
-        this.totalNodes = totalNodes;
-        this.totalLeaves = totalLeaves;
-    }
-    
-    
-    public int getTotalNodes() {
-        return totalNodes;
-    }
-    
-    
-    public int getTotalLeaves() {
-        return totalLeaves;
-    }
-    
-    
-    public Expression getCayenneExp() {
-        return (Expression)tstObject;
-    }
-    
-    public void assertParsedWell(int totalNodes, int totalLeaves) {
-        Assert.assertEquals(this.totalNodes, totalNodes);
-        Assert.assertEquals(this.totalLeaves, totalLeaves);
-    }
+public class TstExpressionCase extends TranslationCase {
+	protected int totalNodes;
+	protected int totalLeaves;
+
+	public TstExpressionCase(String rootEntity, Expression cayenneExp, String sqlExp, int totalNodes, int totalLeaves) {
+		super(rootEntity, cayenneExp, sqlExp);
+		this.totalNodes = totalNodes;
+		this.totalLeaves = totalLeaves;
+	}
+
+	public int getTotalNodes() {
+		return totalNodes;
+	}
+
+	public int getTotalLeaves() {
+		return totalLeaves;
+	}
+
+	public Expression getCayenneExp() {
+		return (Expression) tstObject;
+	}
 }


[2/2] cayenne git commit: cleaning up OrderingTranslatorIT

Posted by aa...@apache.org.
cleaning up OrderingTranslatorIT


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b0be7f77
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b0be7f77
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b0be7f77

Branch: refs/heads/master
Commit: b0be7f77936f8f59aa6c8036d744623b0271d3ec
Parents: bad8d01
Author: aadamchik <aa...@apache.org>
Authored: Sun Jan 24 12:58:42 2016 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Jan 24 13:05:14 2016 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/TranslationCase.java     |  62 ---------
 .../translator/select/OrderingTranslatorIT.java | 133 ++++++-------------
 .../translator/select/TstQueryAssembler.java    |   3 +-
 .../apache/cayenne/exp/TstExpressionCase.java   |  42 +++++-
 4 files changed, 76 insertions(+), 164 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/b0be7f77/cayenne-server/src/test/java/org/apache/cayenne/TranslationCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/TranslationCase.java b/cayenne-server/src/test/java/org/apache/cayenne/TranslationCase.java
deleted file mode 100644
index 581b7c4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/TranslationCase.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-public class TranslationCase {
-
-	protected Object tstObject;
-	protected String sqlExp;
-	protected String rootEntity;
-
-	public TranslationCase(String rootEntity, Object tstObject, String sqlExp) {
-		this.tstObject = tstObject;
-		this.rootEntity = rootEntity;
-		this.sqlExp = sqlExp;
-	}
-
-	@Override
-	public String toString() {
-		StringBuffer buf = new StringBuffer();
-		buf.append(this.getClass().getName()).append(tstObject);
-		return buf.toString();
-	}
-
-	public void assertTranslatedWell(String translated) {
-		if (sqlExp == null) {
-			assertNull(translated);
-			return;
-		}
-
-		assertNotNull(translated);
-		assertEquals("Unexpected translation: " + translated + "....", sqlExp, translated);
-	}
-
-	public String getRootEntity() {
-		return rootEntity;
-	}
-
-	public String getSqlExp() {
-		return sqlExp;
-	}
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b0be7f77/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
index f2784f4..4e92d02 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
@@ -19,11 +19,14 @@
 
 package org.apache.cayenne.access.translator.select;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Arrays;
 
-import org.apache.cayenne.TranslationCase;
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.Ordering;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.query.SortOrder;
 import org.apache.cayenne.testdo.testmap.Artist;
@@ -46,129 +49,67 @@ public class OrderingTranslatorIT extends ServerCase {
 	 * Tests ascending ordering on string attribute.
 	 */
 	@Test
-	public void testDoTranslation1() throws Exception {
-		SelectQuery q = new SelectQuery(Artist.class);
-		q.addOrdering("artistName", SortOrder.ASCENDING);
-
-		TstQueryAssembler qa = new TstQueryAssembler(q, node.getAdapter(), node.getEntityResolver());
-
-		TranslationCase tstCase = new TranslationCase("Artist", null, "ta.ARTIST_NAME");
-
-		StringBuilder out = new StringBuilder();
-		new OrderingTranslator(qa).appendPart(out);
-
-		assertTrue(out.length() > 0);
-		tstCase.assertTranslatedWell(out.toString());
+	public void testAppendPart1() throws Exception {
+		Ordering o1 = new Ordering("artistName", SortOrder.ASCENDING);
+		doTestAppendPart("ta.ARTIST_NAME", o1);
 	}
 
 	/**
 	 * Tests descending ordering on string attribute.
 	 */
 	@Test
-	public void testDoTranslation2() throws Exception {
-		SelectQuery q = new SelectQuery(Artist.class);
-		q.addOrdering("artistName", SortOrder.DESCENDING);
+	public void testAppendPart2() throws Exception {
+		Ordering o1 = new Ordering("artistName", SortOrder.DESCENDING);
+		doTestAppendPart("ta.ARTIST_NAME DESC", o1);
+	}
 
-		TstQueryAssembler qa = new TstQueryAssembler(q, node.getAdapter(), node.getEntityResolver());
+	@Test
+	public void testAppendPart3() throws Exception {
 
-		TranslationCase tstCase = new TranslationCase("Artist", null, "ta.ARTIST_NAME DESC");
+		Ordering o1 = new Ordering("artistName", SortOrder.DESCENDING);
+		Ordering o2 = new Ordering("paintingArray.estimatedPrice", SortOrder.ASCENDING);
 
-		StringBuilder out = new StringBuilder();
-		new OrderingTranslator(qa).appendPart(out);
-
-		assertTrue(out.length() > 0);
-		tstCase.assertTranslatedWell(out.toString());
+		doTestAppendPart("ta.ARTIST_NAME DESC, ta.ESTIMATED_PRICE", o1, o2);
 	}
 
 	/**
 	 * Tests ascending case-insensitive ordering on string attribute.
 	 */
 	@Test
-	public void testDoTranslation4() throws Exception {
-		SelectQuery q = new SelectQuery(Artist.class);
-		q.addOrdering("artistName", SortOrder.ASCENDING_INSENSITIVE);
-
-		TstQueryAssembler qa = new TstQueryAssembler(q, node.getAdapter(), node.getEntityResolver());
-
-		TranslationCase tstCase = new TranslationCase("Artist", null, "UPPER(ta.ARTIST_NAME)");
-
-		StringBuilder out = new StringBuilder();
-		new OrderingTranslator(qa).appendPart(out);
-
-		assertTrue(out.length() > 0);
-		String orderBySql = out.toString();
-		assertTrue(orderBySql.contains("UPPER("));
-		tstCase.assertTranslatedWell(orderBySql);
+	public void testAppendPart4() throws Exception {
+		Ordering o1 = new Ordering("artistName", SortOrder.ASCENDING_INSENSITIVE);
+		doTestAppendPart("UPPER(ta.ARTIST_NAME)", o1);
 	}
 
 	@Test
-	public void testDoTranslation5() throws Exception {
-		SelectQuery q = new SelectQuery(Artist.class);
-		q.addOrdering("artistName", SortOrder.DESCENDING_INSENSITIVE);
-		q.addOrdering("paintingArray.estimatedPrice", SortOrder.ASCENDING);
+	public void testAppendPart5() throws Exception {
 
-		TstQueryAssembler qa = new TstQueryAssembler(q, node.getAdapter(), node.getEntityResolver());
+		Ordering o1 = new Ordering("artistName", SortOrder.DESCENDING_INSENSITIVE);
+		Ordering o2 = new Ordering("paintingArray.estimatedPrice", SortOrder.ASCENDING);
 
-		TranslationCase tstCase = new TranslationCase("Artist", null, "UPPER(ta.ARTIST_NAME) DESC, ta.ESTIMATED_PRICE");
-
-		StringBuilder out = new StringBuilder();
-		new OrderingTranslator(qa).appendPart(out);
-
-		assertTrue(out.length() > 0);
-		String orderBySql = out.toString();
-
-		// Check there is an UPPER modifier
-		int indexOfUpper = orderBySql.indexOf("UPPER(");
-		assertTrue(indexOfUpper != -1);
-
-		// and ensure there is only ONE upper modifier
-		assertTrue(orderBySql.indexOf("UPPER(", indexOfUpper + 1) == -1);
-		tstCase.assertTranslatedWell(orderBySql);
+		doTestAppendPart("UPPER(ta.ARTIST_NAME) DESC, ta.ESTIMATED_PRICE", o1, o2);
 	}
 
 	@Test
-	public void testDoTranslation6() throws Exception {
-		SelectQuery q = new SelectQuery(Artist.class);
-		q.addOrdering("artistName", SortOrder.ASCENDING_INSENSITIVE);
-		q.addOrdering("paintingArray.estimatedPrice", SortOrder.ASCENDING_INSENSITIVE);
-
-		TstQueryAssembler qa = new TstQueryAssembler(q, node.getAdapter(), node.getEntityResolver());
-
-		TranslationCase tstCase = new TranslationCase("Artist", null,
-				"UPPER(ta.ARTIST_NAME), UPPER(ta.ESTIMATED_PRICE)");
-
-		StringBuilder out = new StringBuilder();
-		new OrderingTranslator(qa).appendPart(out);
-
-		assertTrue(out.length() > 0);
-		String orderBySql = out.toString();
+	public void testAppendPart6() throws Exception {
+		Ordering o1 = new Ordering("artistName", SortOrder.ASCENDING_INSENSITIVE);
+		Ordering o2 = new Ordering("paintingArray.estimatedPrice", SortOrder.ASCENDING_INSENSITIVE);
 
-		// Check there is at least one UPPER modifier
-		int indexOfUpper = orderBySql.indexOf("UPPER(");
-		assertTrue(indexOfUpper != -1);
-
-		// and ensure there is another after it
-		assertTrue(orderBySql.indexOf("UPPER(", indexOfUpper + 1) != -1);
-
-		tstCase.assertTranslatedWell(orderBySql);
+		doTestAppendPart("UPPER(ta.ARTIST_NAME), UPPER(ta.ESTIMATED_PRICE)", o1, o2);
 	}
 
-	@Test
-	public void testDoTranslation3() throws Exception {
-		SelectQuery<Artist> q = SelectQuery.query(Artist.class);
-
-		q.addOrdering("artistName", SortOrder.DESCENDING);
-		q.addOrdering("paintingArray.estimatedPrice", SortOrder.ASCENDING);
-
-		TstQueryAssembler qa = new TstQueryAssembler(q, node.getAdapter(), node.getEntityResolver());
+	private void doTestAppendPart(String expectedSQL, Ordering... orderings) {
 
-		TranslationCase tstCase = new TranslationCase("Artist", null, "ta.ARTIST_NAME DESC, ta.ESTIMATED_PRICE");
+		SelectQuery<Artist> q = SelectQuery.query(Artist.class);
+		q.addOrderings(Arrays.asList(orderings));
 
+		TstQueryAssembler assembler = new TstQueryAssembler(q, node.getAdapter(), node.getEntityResolver());
 		StringBuilder out = new StringBuilder();
-		new OrderingTranslator(qa).appendPart(out);
+		new OrderingTranslator(assembler).appendPart(out);
+
+		String translated = out.toString();
 
-		assertTrue(out.length() > 0);
-		String orderBySql = out.toString();
-		tstCase.assertTranslatedWell(orderBySql);
+		assertNotNull(translated);
+		assertEquals("Unexpected translation: " + translated + "....", expectedSQL, translated);
 	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b0be7f77/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/TstQueryAssembler.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/TstQueryAssembler.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/TstQueryAssembler.java
index 1ea09cb..dfc7495 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/TstQueryAssembler.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/TstQueryAssembler.java
@@ -19,7 +19,6 @@
 
 package org.apache.cayenne.access.translator.select;
 
-import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -33,7 +32,7 @@ public class TstQueryAssembler extends QueryAssembler {
 
 	protected List<DbRelationship> dbRels;
 
-	public TstQueryAssembler(Query q, DbAdapter adapter, EntityResolver resolver) throws SQLException {
+	public TstQueryAssembler(Query q, DbAdapter adapter, EntityResolver resolver) {
 		super(q, adapter, resolver);
 		dbRels = new ArrayList<DbRelationship>();
 	}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b0be7f77/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java
index 173e1a0..b3bcd92 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/TstExpressionCase.java
@@ -19,14 +19,22 @@
 
 package org.apache.cayenne.exp;
 
-import org.apache.cayenne.TranslationCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+public class TstExpressionCase {
 
-public class TstExpressionCase extends TranslationCase {
 	protected int totalNodes;
 	protected int totalLeaves;
+	protected Expression cayenneExp;
+	protected String sqlExp;
+	protected String rootEntity;
 
 	public TstExpressionCase(String rootEntity, Expression cayenneExp, String sqlExp, int totalNodes, int totalLeaves) {
-		super(rootEntity, cayenneExp, sqlExp);
+		this.cayenneExp = cayenneExp;
+		this.rootEntity = rootEntity;
+		this.sqlExp = sqlExp;
 		this.totalNodes = totalNodes;
 		this.totalLeaves = totalLeaves;
 	}
@@ -40,6 +48,32 @@ public class TstExpressionCase extends TranslationCase {
 	}
 
 	public Expression getCayenneExp() {
-		return (Expression) tstObject;
+		return cayenneExp;
+	}
+
+	@Override
+	public String toString() {
+		StringBuffer buf = new StringBuffer();
+		buf.append(this.getClass().getName()).append(cayenneExp);
+		return buf.toString();
+	}
+
+	public void assertTranslatedWell(String translated) {
+		if (sqlExp == null) {
+			assertNull(translated);
+			return;
+		}
+
+		assertNotNull(translated);
+		assertEquals("Unexpected translation: " + translated + "....", sqlExp, translated);
 	}
+
+	public String getRootEntity() {
+		return rootEntity;
+	}
+
+	public String getSqlExp() {
+		return sqlExp;
+	}
+
 }