blob: 345131f9d0c2a062f3ba5bfbe805726d6b35d61c [file] [log] [blame]
/*
* 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
<<<<<<< Updated upstream
*
* 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
=======
*
* https://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
>>>>>>> Stashed changes
* limitations under the License.
*/
package org.apache.jdo.tck.api.instancecallbacks;
import java.util.Date;
import org.apache.jdo.tck.JDO_Test;
import org.apache.jdo.tck.pc.instancecallbacks.InstanceCallbackClass;
public abstract class TestParts extends JDO_Test {
/** */
public TestParts() {}
/** */
void checkInstances(
String assertion,
String label,
int intValue,
String capturedNextObjName,
int numberOfChildren,
int sumOfChildrenIntValue) {
if (InstanceCallbackClass.processedIndex[intValue] != true) {
fail(assertion, label + "Callback never made on object with intValue = " + intValue);
}
if (capturedNextObjName != null
&& InstanceCallbackClass.capturedNextObjName[intValue] == null) {
fail(
assertion,
label
+ "nextObj attribute for object with intValue = "
+ intValue
+ " should not have been null.");
} else if (capturedNextObjName == null
&& InstanceCallbackClass.capturedNextObjName[intValue] != null) {
fail(
assertion,
label
+ "nextObj attribute for object with intValue = "
+ intValue
+ " should have been null.");
} else if (capturedNextObjName != null
&& !InstanceCallbackClass.capturedNextObjName[intValue].equals(capturedNextObjName)) {
fail(
assertion,
label
+ "nextObj.name attribute for object with intValue = "
+ intValue
+ " should have been \""
+ capturedNextObjName
+ "\". It was \""
+ InstanceCallbackClass.capturedNextObjName[intValue]
+ "\" instead.");
}
if (InstanceCallbackClass.numberOfChildren[intValue] != numberOfChildren) {
fail(
assertion,
label
+ "Number of instances in attribute children for object with intValue = "
+ intValue
+ " should have been "
+ numberOfChildren
+ ". It was "
+ InstanceCallbackClass.numberOfChildren[intValue]
+ " instead.");
}
if (InstanceCallbackClass.sumOfChildrenIntValue[intValue] != sumOfChildrenIntValue) {
fail(
assertion,
label
+ "Sum of intValue of instances in attribute children for object with intValue = "
+ intValue
+ " should have been "
+ sumOfChildrenIntValue
+ ". It was "
+ InstanceCallbackClass.sumOfChildrenIntValue[intValue]
+ " instead.");
}
}
/** */
void checkPMAccess(String assertion, String label, int intValue, boolean transactionActive) {
if (InstanceCallbackClass.processedIndex[intValue] != true) {
fail(assertion, label + "Callback never made on object with intValue = " + intValue);
return;
}
// Only verify isActive() returned true for the object if transactionActive is true
if (transactionActive && InstanceCallbackClass.transactionActive[intValue] != true) {
fail(assertion, label + "PersistenceManager.currentTransaction.isAcive() returned false");
}
}
/** The attributes are: label, name, date, intValue, doubleValue, childToDelete, charValue */
void checkFieldValues(
String assertion,
String label,
int intValue,
String name,
Date timeStamp,
double doubleValue,
short childToDelete,
char charValue) {
if (InstanceCallbackClass.processedIndex[intValue] != true) {
fail(assertion, label + "Callback never made on object with intValue = " + intValue);
return;
}
if (!InstanceCallbackClass.capturedName[intValue].equals(name)) {
fail(
assertion,
label
+ "name attribute for object with intValue = "
+ intValue
+ " should be \""
+ name
+ "\". It was \""
+ InstanceCallbackClass.capturedName[intValue]
+ "\" instead.");
}
if (!InstanceCallbackClass.capturedTimeStamp[intValue].equals(timeStamp)) {
fail(
assertion,
label
+ "timeStamp attribute for object with intValue = "
+ intValue
+ " should be "
+ timeStamp
+ ". It was "
+ InstanceCallbackClass.capturedTimeStamp[intValue]
+ " instead.");
}
if (InstanceCallbackClass.capturedDoubleValue[intValue] != doubleValue) {
fail(
assertion,
label
+ "doubleValue attribute for object with intValue = "
+ intValue
+ " should be "
+ doubleValue
+ ". It was "
+ InstanceCallbackClass.capturedDoubleValue[intValue]
+ " instead.");
}
if (InstanceCallbackClass.capturedCharValue[intValue] != charValue) {
fail(
assertion,
label
+ "charValue attribute for object with intValue = "
+ intValue
+ " should be "
+ charValue
+ ". It was "
+ InstanceCallbackClass.capturedCharValue[intValue]
+ " instead.");
}
if (InstanceCallbackClass.capturedChildToDelete[intValue] != childToDelete) {
fail(
assertion,
label
+ "childToDelete attribute for object with intValue = "
+ intValue
+ " should be "
+ childToDelete
+ ". It was "
+ InstanceCallbackClass.capturedChildToDelete[intValue]
+ " instead.");
}
}
/** Touch fields to guarantee that they are loaded into the instance */
double touchFields(InstanceCallbackClass o) {
// make a checksum from the fields and return it; this cannot be optimized out...
double rc = o.doubleValue;
rc += o.intValue;
rc += o.charValue;
rc += o.childToDelete;
rc += o.name.length();
rc += o.timeStamp.getTime();
return rc;
}
}