1
2
3
4
5
6
7 package org.lcsim.geometry.layer;
8
9 import java.util.ArrayList;
10 import java.util.List;
11
12 import junit.framework.TestCase;
13
14 import org.lcsim.material.XMLMaterialManager;
15
16
17
18
19
20 public class LayerStackTest extends TestCase
21 {
22
23 private LayerStack layerStack;
24 private static final double layerThickness = 2.0;
25 private static final int numLayers = 10;
26 private static final double layerStackThickness = layerThickness * numLayers;
27
28 private static final double[] sliceThick = { 1.0, 0.5, 0.25, 0.25 };
29 private static final String[] sliceMat = { "Iron", "Silicon", "Chlorine", "Nitrogen"};
30
31
32
33
34 public LayerStackTest(String name)
35 {
36 super(name);
37 }
38
39 protected void setUp() throws java.lang.Exception
40 {
41
42
43 XMLMaterialManager.setup();
44 XMLMaterialManager.getDefaultMaterialManager();
45
46 layerStack = new LayerStack();
47
48 LayerSlice s1 = new LayerSlice(sliceMat[0], sliceThick[0], false);
49 LayerSlice s2 = new LayerSlice(sliceMat[1], sliceThick[1], false);
50 LayerSlice s3 = new LayerSlice(sliceMat[2], sliceThick[2], true);
51 LayerSlice s4 = new LayerSlice(sliceMat[3], sliceThick[3], false);
52
53 for ( int i = 0; i < numLayers; i++)
54 {
55 List<LayerSlice> list = new ArrayList<LayerSlice>();
56
57 list.add(s1);
58 list.add(s2);
59 list.add(s3);
60 list.add(s4);
61
62 Layer l = new Layer(list);
63
64 layerStack.addLayer(l);
65 }
66
67
68 }
69
70 public void testLayerStack()
71 {
72
73 assertEquals(layerStack.getNumberOfLayers(), numLayers);
74
75
76 assertEquals(layerStack.getTotalThickness(), layerStackThickness);
77
78
79 assertEquals(layerStack.getLayer(0).getThickness(), layerThickness);
80
81
82 assertEquals(layerStack.getSectionThickness(0,4), layerStackThickness/2);
83
84
85 assertEquals(layerStack.getSectionThickness(0,0), layerThickness);
86
87
88 assertEquals(layerStack.getThicknessToLayerMid(1), layerThickness + layerThickness/2);
89
90
91 assertEquals(layerStack.getThicknessToLayerMid(0), layerThickness/2);
92
93
94 assertEquals(layerStack.getThicknessToLayerBack(0), layerThickness);
95
96
97 assertEquals(layerStack.getThicknessToLayerFront(0), 0.0);
98 }
99 }