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

Function TestORer

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

Source from the content-addressed store, hash-verified

253}
254
255func TestORer(t *testing.T) {
256 o := NewORer()
257
258 o.SetInputWire(0, false)
259 o.SetInputWire(1, true)
260 o.SetInputWire(2, true)
261 o.SetInputWire(3, true)
262 o.SetInputWire(4, true)
263 o.SetInputWire(5, true)
264 o.SetInputWire(6, true)
265 o.SetInputWire(7, true)
266 o.SetInputWire(8, true)
267 o.SetInputWire(9, true)
268 o.SetInputWire(10, true)
269 o.SetInputWire(11, true)
270 o.SetInputWire(12, true)
271 o.SetInputWire(13, true)
272 o.SetInputWire(14, true)
273 o.SetInputWire(15, true)
274
275 o.SetInputWire(16, false)
276 o.SetInputWire(17, true)
277 o.SetInputWire(18, true)
278 o.SetInputWire(19, true)
279 o.SetInputWire(20, true)
280 o.SetInputWire(21, true)
281 o.SetInputWire(22, true)
282 o.SetInputWire(23, true)
283 o.SetInputWire(24, true)
284 o.SetInputWire(25, true)
285 o.SetInputWire(26, true)
286 o.SetInputWire(27, true)
287 o.SetInputWire(28, true)
288 o.SetInputWire(29, true)
289 o.SetInputWire(30, true)
290 o.SetInputWire(31, false)
291
292 o.Update()
293
294 results := [arch.BUS_WIDTH]bool{}
295 for i, w := range o.outputs {
296 results[i] = w.Get()
297 }
298
299 if results != [arch.BUS_WIDTH]bool{false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true} {
300 t.FailNow()
301 }
302
303 // check all bits don't change
304 for i, _ := range o.inputs {
305 o.SetInputWire(i, false)
306 }
307
308 o.Update()
309
310 for _, w := range o.outputs {
311 if w.Get() {
312 t.FailNow()

Callers

nothing calls this directly

Calls 4

SetInputWireMethod · 0.95
UpdateMethod · 0.95
NewORerFunction · 0.85
GetMethod · 0.45

Tested by

no test coverage detected