2018-06-13 16:48:28 +01:00
|
|
|
package test;
|
|
|
|
|
|
|
|
import static org.junit.Assert.*;
|
|
|
|
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
|
|
import repository.DataException;
|
|
|
|
import repository.Repository;
|
|
|
|
import repository.RepositoryManager;
|
|
|
|
|
|
|
|
public class RepositoryTests extends Common {
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testGetRepository() throws DataException {
|
2018-06-13 17:46:51 +01:00
|
|
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
|
|
|
assertNotNull(repository);
|
|
|
|
}
|
2018-06-13 16:48:28 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testMultipleInstances() throws DataException {
|
|
|
|
int n_instances = 5;
|
|
|
|
Repository[] repositories = new Repository[n_instances];
|
|
|
|
|
|
|
|
for (int i = 0; i < n_instances; ++i) {
|
|
|
|
repositories[i] = RepositoryManager.getRepository();
|
|
|
|
assertNotNull(repositories[i]);
|
|
|
|
}
|
2018-06-13 17:46:51 +01:00
|
|
|
|
|
|
|
for (int i = 0; i < n_instances; ++i) {
|
|
|
|
repositories[i].close();
|
|
|
|
repositories[i] = null;
|
|
|
|
}
|
2018-06-13 16:48:28 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
2018-06-13 17:46:51 +01:00
|
|
|
public void testAccessAfterClose() throws DataException {
|
2018-06-13 16:48:28 +01:00
|
|
|
Repository repository = RepositoryManager.getRepository();
|
|
|
|
assertNotNull(repository);
|
|
|
|
|
2018-06-13 17:46:51 +01:00
|
|
|
repository.close();
|
2018-06-13 16:48:28 +01:00
|
|
|
|
|
|
|
try {
|
|
|
|
repository.discardChanges();
|
|
|
|
fail();
|
2018-06-13 17:46:51 +01:00
|
|
|
} catch (NullPointerException | DataException e) {
|
2018-06-13 16:48:28 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|