1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package p3j.misc;
17
18 import java.io.IOException;
19
20 import org.junit.Assert;
21 import org.junit.Test;
22
23 import p3j.pppm.ProjectionModel;
24 import p3j.pppm.SubPopulation;
25 import p3j.pppm.SubPopulationModel;
26
27
28
29
30
31
32
33
34
35 public class TestSerializer {
36
37 private static final String TEMPORARY_MODEL_FILE = "./testModel.p3j";
38
39 final SubPopulationModel subPopModel = new SubPopulationModel();
40 {
41 subPopModel.getSubPopulations().add(
42 new SubPopulation("TestPop", true, true, true));
43 subPopModel.getSubPopulations().add(
44 new SubPopulation("TestPop2", false, false, false));
45 }
46
47 final ProjectionModel testProjectionModel = new ProjectionModel(
48 "scenarioName", "scenarioDescription", 3, 50, 100, 2011, subPopModel);
49
50 @Test
51 public void testSubPoopulationStorage() throws IOException,
52 ClassNotFoundException {
53 (new Serializer()).save(testProjectionModel, TEMPORARY_MODEL_FILE);
54 ProjectionModel projectionModel = (ProjectionModel) (new Serializer())
55 .load(TEMPORARY_MODEL_FILE);
56 SubPopulationModel loadedModel = projectionModel.getSubPopulationModel();
57
58 Assert.assertEquals("Number of sub-populations should match.", subPopModel
59 .getSubPopulations().size(), loadedModel.getSubPopulations().size());
60
61 for (int i = 0; i < subPopModel.getSubPopulations().size(); i++) {
62 SubPopulation expectedSubPop = subPopModel.getSubPopulations().get(i);
63 Assert.assertEquals("Sub-populations should be equal", expectedSubPop,
64 loadedModel.getSubPopulations().get(i));
65 }
66 }
67
68 }