Skip to content

Commit

Permalink
Fix test for Memory, which throws "not implemented" exceptions on cer…
Browse files Browse the repository at this point in the history
…tain SQLExpression calls.
  • Loading branch information
rkiddy committed Apr 28, 2013
1 parent f43eaab commit fcedd7f
Showing 1 changed file with 24 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import junit.framework.Assert;

import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSDictionary;
import com.webobjects.foundation.NSMutableDictionary;
import com.webobjects.foundation.NSMutableSet;
import com.webobjects.foundation.NSSet;
Expand Down Expand Up @@ -44,6 +45,18 @@ public ERXEOAccessUtilitiesTest(String adaptorName) {
super(adaptorName);
}

private static final NSDictionary<String,NSArray<String>> skipTestsForAdaptor;

static {
NSMutableDictionary<String,NSArray<String>> skips = new NSMutableDictionary<String,NSArray<String>>();

NSArray<String> memorySkips = new NSArray<String>(new String[] { "testRawRowsForSQLExpressionEOEditingContextStringEOSQLExpression" } );
skips.setObjectForKey(memorySkips, "Memory");
skips.setObjectForKey(NSArray.EmptyArray, "JDBC");

skipTestsForAdaptor = skips.immutableClone();
}

@Override
public void setUp() throws Exception {
super.setUp();
Expand Down Expand Up @@ -215,29 +228,30 @@ public void _testSqlForFetchSpecification() {
public void testRawRowsForSQLExpressionEOEditingContextStringEOSQLExpression() {

EOAdaptor adaptor = EOAdaptor.adaptorWithName(EOModelGroup.defaultGroup().modelNamed(ERXTestSuite.ERXTEST_MODEL).adaptorName());
EOSQLExpressionFactory factory = new EOSQLExpressionFactory(adaptor);
if (skipTestsForAdaptor.objectForKey(adaptor.name()).contains("testRawRowsForSQLExpressionEOEditingContextStringEOSQLExpression")) return;
EOSQLExpressionFactory factory = new EOSQLExpressionFactory(adaptor);
NSArray<EOEntity> entities = EOModelGroup.defaultGroup().modelNamed(ERXTestSuite.ERXTEST_MODEL).entities();

NSMutableDictionary<String,Number> counts = new NSMutableDictionary<String,Number>();

for (EOEntity entity : entities) {
for (EOEntity entity : entities) {
EOSQLExpression sqlExp = factory.selectStatementForAttributes(entity.attributes(),
false,
new EOFetchSpecification(entity.name(), null, null),
entity);
false,
new EOFetchSpecification(entity.name(), null, null),
entity);
NSArray rows = ERXEOAccessUtilities.rawRowsForSQLExpression(ec, ERXTestSuite.ERXTEST_MODEL, sqlExp);

counts.setObjectForKey(rows.size(), entity.name());
}

ERXTestUtilities.createCompanyAnd3Employees();
ERXTestUtilities.createCompanyAnd3Employees();

NSMutableSet<String> hasMore = new NSMutableSet<String>();

for (EOEntity entity : entities) {
EOSQLExpression sqlExp = factory.selectStatementForAttributes(entity.attributes(),
false,
new EOFetchSpecification(entity.name(), null, null),
entity);
false,
new EOFetchSpecification(entity.name(), null, null),
entity);
NSArray rows = ERXEOAccessUtilities.rawRowsForSQLExpression(ec, ERXTestSuite.ERXTEST_MODEL, sqlExp);

if ( ! counts.containsKey(entity.name()))
Expand Down

0 comments on commit fcedd7f

Please sign in to comment.