(no commit message)
authorerik <erik@77661180-640e-0410-b3a8-9f9b13e6d0e0>
Tue, 27 Jul 2010 20:38:40 +0000 (20:38 +0000)
committererik <erik@77661180-640e-0410-b3a8-9f9b13e6d0e0>
Tue, 27 Jul 2010 20:38:40 +0000 (20:38 +0000)
test/enterprise/src/main/java/org/wamblee/test/persistence/RequireTransactionStatus.java [new file with mode: 0644]
test/enterprise/src/test/java/org/wamblee/test/persistence/RequireTransactionStatusTest.java [new file with mode: 0644]

diff --git a/test/enterprise/src/main/java/org/wamblee/test/persistence/RequireTransactionStatus.java b/test/enterprise/src/main/java/org/wamblee/test/persistence/RequireTransactionStatus.java
new file mode 100644 (file)
index 0000000..338e41a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2005-2010 the original author or authors.
+ * 
+ * Licensed 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.wamblee.test.persistence;
+
+import org.wamblee.test.transactions.TransactionResult;
+
+import static junit.framework.Assert.*;
+
+/**
+ * Specific transaction result callback to require a specific transaction result. 
+ * @author Erik Brakkee
+ *
+ */
+public class RequireTransactionStatus implements TransactionResultCallback {
+
+    private TransactionResult result; 
+    
+    /**
+     * Constructs the callback. 
+     * @param aResult Required result. 
+     */
+    public RequireTransactionStatus(TransactionResult aResult) { 
+        result = aResult;
+    }
+    
+    @Override
+    public void status(TransactionResult aResult) {
+        if (!result.equals(aResult)) { 
+            fail("Required transaction result was " + result + " but actual result was " + aResult);
+        }
+    }
+
+}
diff --git a/test/enterprise/src/test/java/org/wamblee/test/persistence/RequireTransactionStatusTest.java b/test/enterprise/src/test/java/org/wamblee/test/persistence/RequireTransactionStatusTest.java
new file mode 100644 (file)
index 0000000..6f0049e
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2005-2010 the original author or authors.
+ * 
+ * Licensed 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.wamblee.test.persistence;
+
+import junit.framework.AssertionFailedError;
+
+import org.junit.Test;
+import org.wamblee.test.transactions.TransactionResult;
+
+public class RequireTransactionStatusTest {
+
+    @Test
+    public void testResultOk() { 
+        RequireTransactionStatus callback = new RequireTransactionStatus(TransactionResult.ROLLBACK);
+        callback.status(TransactionResult.ROLLBACK);
+        // if we get here everything is ok. 
+    }
+    
+    @Test(expected = AssertionFailedError.class)
+    public void testResultWrong() { 
+        RequireTransactionStatus callback = new RequireTransactionStatus(TransactionResult.COMMIT);
+        callback.status(TransactionResult.ROLLBACK);
+    }
+}