MCPcopy Create free account
hub / github.com/djhworld/simple-computer / TestNOTer

Function TestNOTer

components/components_test.go:148–191  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

146}
147
148func TestNOTer(t *testing.T) {
149 n := NewNOTer()
150
151 n.SetInputWire(0, false)
152 n.SetInputWire(1, true)
153 n.SetInputWire(2, false)
154 n.SetInputWire(3, true)
155 n.SetInputWire(4, false)
156 n.SetInputWire(5, true)
157 n.SetInputWire(6, false)
158 n.SetInputWire(7, true)
159 n.SetInputWire(8, false)
160 n.SetInputWire(9, true)
161 n.SetInputWire(10, false)
162 n.SetInputWire(11, true)
163 n.SetInputWire(12, false)
164 n.SetInputWire(13, true)
165 n.SetInputWire(14, false)
166 n.SetInputWire(15, true)
167
168 n.Update()
169
170 results := [arch.BUS_WIDTH]bool{}
171 for i, w := range n.outputs {
172 results[i] = w.Get()
173 }
174
175 if results != [arch.BUS_WIDTH]bool{true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false} {
176 t.FailNow()
177 }
178
179 // check all bits invert
180 for i, _ := range n.inputs {
181 n.SetInputWire(i, false)
182 }
183
184 n.Update()
185
186 for _, w := range n.outputs {
187 if !w.Get() {
188 t.FailNow()
189 }
190 }
191}
192
193func TestANDer(t *testing.T) {
194 a := NewANDer()

Callers

nothing calls this directly

Calls 4

SetInputWireMethod · 0.95
UpdateMethod · 0.95
NewNOTerFunction · 0.85
GetMethod · 0.45

Tested by

no test coverage detected