Refactoring and GSI binding for combined device interface.

This commit is contained in:
Matthias Koefferlein
2019-05-10 18:32:05 +02:00
parent 675a96eb9e
commit 0f0dd42b4d
7 changed files with 348 additions and 66 deletions
+69 -4
View File
@@ -262,7 +262,72 @@ class DBNetlist_TestClass < TestBase
d2.connect_terminal(0, net)
assert_equal(net.terminal_count, 1)
assert_equal(d1.is_combined_device?, false)
da = RBA::DeviceAbstract::new
da.name = "xyz"
d1.device_abstract = da
a = []
d1.each_combined_abstract { |i| a << i }
assert_equal(a.size, 0)
t = RBA::DeviceAbstractRef::new
t.device_abstract = d1.device_abstract
t.offset = RBA::DVector::new(1, 2)
d1.add_combined_abstract(t)
a = []
d1.each_combined_abstract { |i| a << i }
assert_equal(a.size, 1)
assert_equal(a.collect { |i| i.device_abstract.name }.join(","), "xyz")
assert_equal(a.collect { |i| i.offset.to_s }.join(","), "1,2")
d1.clear_combined_abstracts
a = []
d1.each_combined_abstract { |i| a << i }
assert_equal(a.size, 0)
a = []
d1.each_reconnected_terminal_for(0) { |i| a << i }
assert_equal(a.size, 0)
a = []
d1.each_reconnected_terminal_for(1) { |i| a << i }
assert_equal(a.size, 0)
t = RBA::DeviceReconnectedTerminal::new
t.device_index = 0
t.other_terminal_id = 2
d1.add_reconnected_terminal_for(1, t)
t = RBA::DeviceReconnectedTerminal::new
t.device_index = 1
t.other_terminal_id = 1
d1.add_reconnected_terminal_for(1, t)
a = []
d1.each_reconnected_terminal_for(0) { |i| a << i }
assert_equal(a.size, 0)
a = []
d1.each_reconnected_terminal_for(1) { |i| a << i }
assert_equal(a.size, 2)
assert_equal(a.collect { |i| i.device_index.to_s }.join(","), "0,1")
assert_equal(a.collect { |i| i.other_terminal_id.to_s }.join(","), "2,1")
d1.clear_reconnected_terminals
a = []
d1.each_reconnected_terminal_for(0) { |i| a << i }
assert_equal(a.size, 0)
a = []
d1.each_reconnected_terminal_for(1) { |i| a << i }
assert_equal(a.size, 0)
end
def test_5_SubCircuit
@@ -648,11 +713,11 @@ END
names = []
nl.each_circuit_top_down { |c| names << c.name }
assert_equal(names.join(","), "C1,C2,C3")
assert_equal(names.join(","), "C3,C2,C1")
names = []
nl.each_circuit_bottom_up { |c| names << c.name }
assert_equal(names.join(","), "C3,C2,C1")
assert_equal(names.join(","), "C1,C2,C3")
names = []
c1.each_child { |c| names << c.name }
@@ -691,11 +756,11 @@ END
names = []
nl.each_circuit_top_down { |c| names << c.name }
assert_equal(names.join(","), "C1,C2,C3")
assert_equal(names.join(","), "C1,C3,C2")
names = []
nl.each_circuit_bottom_up { |c| names << c.name }
assert_equal(names.join(","), "C3,C2,C1")
assert_equal(names.join(","), "C2,C3,C1")
c3.create_subcircuit(c2)
assert_equal(nl.top_circuit_count, 1)