(t *testing.T)
| 253 | } |
| 254 | |
| 255 | func 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() |
nothing calls this directly
no test coverage detected