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