2 Copyright 2010 Sun Microsystems, Inc.
3 All rights reserved. Use is subject to license terms.
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; version 2 of the License.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 package testsuite.clusterj;
21 import testsuite.clusterj.model.Employee;
23 public class SerialTransactionsTest extends AbstractClusterJModelTest {
25 private static final int NUMBER_TO_INSERT = 4;
27 protected int numberOfEmployees() {
28 return NUMBER_TO_INSERT;
32 public void localSetUp() {
33 createSessionFactory();
35 createEmployeeInstances(NUMBER_TO_INSERT);
36 addTearDownClasses(Employee.class);
51 updateThenVerifyAll();
55 protected void createAll() {
57 session.makePersistentAll(employees);
61 /** Find instances. */
62 public void findAll() {
64 for (int i = 0; i < NUMBER_TO_INSERT; ++i) {
65 Employee e = session.find(Employee.class, i);
70 public void deleteAll() {
72 for (int i = 0; i < NUMBER_TO_INSERT; ++i) {
73 Employee e = session.find(Employee.class, i);
74 session.deletePersistent(e);
79 public void updateThenVerifyAll() {
81 for (int i = 0; i < NUMBER_TO_INSERT; ++i) {
82 Employee e = session.find(Employee.class, i);
84 e.setAge(NUMBER_TO_INSERT - i);
85 // send the change to the database
86 session.updatePersistent(e);
90 // now verify that the changes were committed
92 for (int i = 0; i < NUMBER_TO_INSERT; ++i) {
93 Employee e = session.find(Employee.class, i);
95 int expected = NUMBER_TO_INSERT - i;
96 int actual = e.getAge();
97 if (expected != actual) {
98 error("Failed update: for employee " + i
99 + " expected age " + expected
100 + " actual age " + actual);