rcircuit/spec/port_spec.rb
2018-07-08 17:19:58 -05:00

40 lines
727 B
Ruby

require_relative "../port.rb"
describe Port do
it "should set the port's value when we call setval" do
a=Port.new
a.setval(1)
expect(a).to eq 1
end
it "should propagate values when we call setval" do
a=Port.new
b=Port.new
c=Port.new
d=Port.new
#connect A-B and C-D
a.connect(b)
c.connect(d)
a.setval(1)
c.setval(2)
expect(a).to eq 1
expect(b).to eq 1
expect(c).to eq 2
expect(d).to eq 2
#connect them all together
b.connect(c)
a.setval(3)
expect(a).to eq 3
expect(b).to eq 3
expect(c).to eq 3
expect(d).to eq 3
d.setval(4)
expect(a).to eq 4
expect(b).to eq 4
expect(c).to eq 4
expect(d).to eq 4
end
end