Added first test structures for Am2904 and Am2910
[Mograsim.git] / net.mograsim.logic.model.am2900 / test / net / mograsim / logic / model / am2900 / am2910 / TestableAm2910Impl.java
1 package net.mograsim.logic.model.am2900.am2910;\r
2 \r
3 import org.junit.Test;\r
4 \r
5 import net.mograsim.logic.core.components.BitDisplay;\r
6 import net.mograsim.logic.core.components.ManualSwitch;\r
7 import net.mograsim.logic.core.timeline.Timeline;\r
8 import net.mograsim.logic.core.types.BitVector;\r
9 import net.mograsim.logic.core.types.BitVectorFormatter;\r
10 import net.mograsim.logic.model.am2900.TestEnvironmentHelper;\r
11 import net.mograsim.logic.model.am2900.TestEnvironmentHelper.DebugState;\r
12 import net.mograsim.logic.model.model.components.GUIComponent;\r
13 \r
14 public class TestableAm2910Impl implements TestableAm2910\r
15 {\r
16 \r
17         private GUIComponent am2901;\r
18         private Timeline timeline;\r
19         private ManualSwitch I;\r
20         private ManualSwitch C;\r
21         private ManualSwitch CI;\r
22         private ManualSwitch D;\r
23         private ManualSwitch _CC;\r
24         private ManualSwitch _CCEN;\r
25         private ManualSwitch _RDL;\r
26         private ManualSwitch _OE;\r
27         private BitDisplay _FULL;\r
28         private BitDisplay Y;\r
29         private BitDisplay _PL, _MAP, _VECT;\r
30 \r
31         private final TestEnvironmentHelper testHelper = new TestEnvironmentHelper(this, "GUIAm2910");\r
32 \r
33         @Override\r
34         public void setup()\r
35         {\r
36                 testHelper.setup(DebugState.NO_DEBUG);\r
37         }\r
38 \r
39         @Override\r
40         public Result run()\r
41         {\r
42                 return testHelper.run();\r
43         }\r
44 \r
45         @Override\r
46         public void clockOn(boolean isClockOn)\r
47         {\r
48                 if (isClockOn)\r
49                         C.switchFullOn();\r
50                 else\r
51                         C.switchFullOff();\r
52         }\r
53 \r
54         @Override\r
55         public void setInstruction(Am2910_Inst inst)\r
56         {\r
57                 I.setState(BitVector.of(inst.ordinal(), 4));\r
58         }\r
59 \r
60         @Override\r
61         public void set_CCEN(String val_1_bit)\r
62         {\r
63                 _CCEN.setState(BitVector.parse(val_1_bit));\r
64         }\r
65 \r
66         @Override\r
67         public void setD(String val_12_bit)\r
68         {\r
69                 D.setState(BitVector.parse(val_12_bit));\r
70         }\r
71 \r
72         @Override\r
73         public void set_CC(String val_1_bit)\r
74         {\r
75                 _CC.setState(BitVector.parse(val_1_bit));\r
76         }\r
77 \r
78         @Override\r
79         public void setCI(String val_1_bit)\r
80         {\r
81                 CI.setState(BitVector.parse(val_1_bit));\r
82         }\r
83 \r
84         @Override\r
85         public void set_RLD(String val_1_bit)\r
86         {\r
87                 _RDL.setState(BitVector.parse(val_1_bit));\r
88         }\r
89 \r
90         @Override\r
91         public void set_OE(String val_1_bit)\r
92         {\r
93                 _OE.setState(BitVector.parse(val_1_bit));\r
94         }\r
95 \r
96         @Override\r
97         public String getY()\r
98         {\r
99                 return Y.getDisplayedValue().toString();\r
100         }\r
101 \r
102         @Override\r
103         public String get_FULL()\r
104         {\r
105                 return _FULL.getDisplayedValue().toString();\r
106         }\r
107 \r
108         @Override\r
109         public String get_PL()\r
110         {\r
111                 return _PL.getDisplayedValue().toString();\r
112         }\r
113 \r
114         @Override\r
115         public String get_MAP()\r
116         {\r
117                 return _MAP.getDisplayedValue().toString();\r
118         }\r
119 \r
120         @Override\r
121         public String get_VECT()\r
122         {\r
123                 return _VECT.getDisplayedValue().toString();\r
124         }\r
125 \r
126 }\r