1 package dst.ass1.jpa.tests;
3 import static org.junit.Assert.assertTrue;
7 import org.junit.rules.ExpectedException;
9 import dst.ass1.jpa.ORMService;
10 import dst.ass1.jpa.model.IParticipant;
11 import dst.ass1.jpa.util.Constants;
14 * Tests the constraint for IParticipant bank data.
16 public class Ass1_1_2_01Test {
19 public ORMService orm = new ORMService();
22 public ExpectedException expectedException = ExpectedException.none();
25 public void testParticipantAccountNoBankCodeConstraint() {
26 IParticipant p1 = orm.getModelFactory().createParticipant();
27 IParticipant p2 = orm.getModelFactory().createParticipant();
29 p1.setEmail("p1@example.com");
30 p2.setEmail("p2@example.com");
32 new UniqueConstraintTester<>(p1, p2, e -> {
33 e.setAccountNo("uniqueVal1");
34 e.setBankCode("uniqueVal2");
35 }).run(orm.getEntityManager());
39 public void testParticipantAccountNoBankCodeConstraintJdbc() {
40 assertTrue(orm.getDatabaseGateway().isIndex(Constants.T_PARTICIPANT, Constants.M_PARTICIPANT_ACCOUNT, false));
41 assertTrue(orm.getDatabaseGateway().isIndex(Constants.T_PARTICIPANT, Constants.M_PARTICIPANT_BANK_CODE, false));
42 assertTrue(orm.getDatabaseGateway().isComposedIndex(Constants.T_PARTICIPANT, Constants.M_PARTICIPANT_ACCOUNT, Constants.M_PARTICIPANT_BANK_CODE));
44 assertTrue(orm.getDatabaseGateway().isNullable(Constants.T_PARTICIPANT, Constants.M_PARTICIPANT_ACCOUNT));
45 assertTrue(orm.getDatabaseGateway().isNullable(Constants.T_PARTICIPANT, Constants.M_PARTICIPANT_BANK_CODE));