From 5ef0ce9c12e9fadfa22f3458348fcf4a6f05223d Mon Sep 17 00:00:00 2001 From: Erik Brakkee Date: Tue, 27 Jul 2010 20:38:40 +0000 Subject: [PATCH] --- .../persistence/RequireTransactionStatus.java | 46 +++++++++++++++++++ .../RequireTransactionStatusTest.java | 37 +++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 test/enterprise/src/main/java/org/wamblee/test/persistence/RequireTransactionStatus.java create mode 100644 test/enterprise/src/test/java/org/wamblee/test/persistence/RequireTransactionStatusTest.java 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 index 00000000..338e41a1 --- /dev/null +++ b/test/enterprise/src/main/java/org/wamblee/test/persistence/RequireTransactionStatus.java @@ -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 index 00000000..6f0049ee --- /dev/null +++ b/test/enterprise/src/test/java/org/wamblee/test/persistence/RequireTransactionStatusTest.java @@ -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); + } +} -- 2.31.1