WIP: tests for new net predicates.

This commit is contained in:
Matthias Koefferlein 2018-12-25 20:56:08 +01:00
parent 3d9712c53a
commit 195324295d
2 changed files with 60 additions and 0 deletions

View File

@ -533,6 +533,11 @@ TEST(6_Net)
n.clear ();
EXPECT_EQ (n.name (), "");
EXPECT_EQ (int (n.cluster_id ()), 0);
EXPECT_EQ (n.pin_count (), 0);
EXPECT_EQ (n.terminal_count (), 0);
EXPECT_EQ (n.is_floating (), true);
EXPECT_EQ (n.is_internal (), false);
}
TEST(7_NetTerminalsEditing)
@ -558,9 +563,19 @@ TEST(7_NetTerminalsEditing)
d1->connect_terminal (0, n1);
d1->connect_terminal (1, n2);
EXPECT_EQ (n1->terminal_count (), 1);
EXPECT_EQ (n1->pin_count (), 0);
EXPECT_EQ (n1->is_floating (), true);
EXPECT_EQ (n1->is_internal (), false);
d2->connect_terminal (1, n1);
d2->connect_terminal (0, n2);
EXPECT_EQ (n1->terminal_count (), 2);
EXPECT_EQ (n1->pin_count (), 0);
EXPECT_EQ (n1->is_floating (), false);
EXPECT_EQ (n1->is_internal (), true);
EXPECT_EQ (d1->net_for_terminal (0), n1);
EXPECT_EQ (d1->net_for_terminal (1), n2);
EXPECT_EQ (d2->net_for_terminal (0), n2);
@ -637,12 +652,23 @@ TEST(8_NetSubCircuitsEditing)
c.add_net (n2);
c.connect_pin (0, n1);
EXPECT_EQ (n1->terminal_count (), 0);
EXPECT_EQ (n1->pin_count (), 1);
EXPECT_EQ (n1->is_floating (), true);
EXPECT_EQ (n1->is_internal (), false);
EXPECT_EQ (c.net_for_pin (0), n1);
EXPECT_EQ (c.net_for_pin (1), 0);
sc1->connect_pin (0, n1);
sc1->connect_pin (1, n2);
EXPECT_EQ (n1->terminal_count (), 0);
EXPECT_EQ (n1->pin_count (), 2);
EXPECT_EQ (n1->is_floating (), false);
EXPECT_EQ (n1->is_internal (), false);
sc2->connect_pin (1, n1);
sc2->connect_pin (0, n2);

View File

@ -185,11 +185,33 @@ class DBNetlist_TestClass < TestBase
net = c.create_net("NET")
assert_equal(net.is_floating?, true)
assert_equal(net.is_internal?, false)
assert_equal(net.terminal_count, 0)
assert_equal(net.pin_count, 0)
d1.connect_terminal(1, net)
assert_equal(net.is_floating?, true)
assert_equal(net.is_internal?, false)
assert_equal(net.terminal_count, 1)
assert_equal(net.pin_count, 0)
d1.connect_terminal(0, net)
assert_equal(net.is_floating?, false) # not really, but this simple approach tells us so ...
assert_equal(net.is_internal?, true)
assert_equal(net.terminal_count, 2)
assert_equal(net.pin_count, 0)
d1.disconnect_terminal(0)
assert_equal(net.terminal_count, 1)
assert_equal(d1.net_for_terminal(1).name, "NET")
assert_equal(d1.net_for_terminal(0).inspect, "nil")
d2.connect_terminal(0, net)
assert_equal(net.terminal_count, 2)
dnames = []
net.each_terminal { |p| dnames << p.device.name + ":" + p.terminal_def.name }
@ -260,12 +282,24 @@ class DBNetlist_TestClass < TestBase
assert_equal(ccn, [ "CC", "CC" ])
net = c.create_net("NET")
assert_equal(net.pin_count, 0)
assert_equal(net.terminal_count, 0)
assert_equal(net.is_floating?, true)
assert_equal(net.is_internal?, false)
sc1.connect_pin(1, net)
assert_equal(net.pin_count, 1)
assert_equal(net.terminal_count, 0)
assert_equal(net.is_floating?, true)
assert_equal(net.is_internal?, false)
assert_equal(sc1.net_for_pin(1).name, "NET")
assert_equal(sc1.net_for_pin(0).inspect, "nil")
sc2.connect_pin(0, net)
assert_equal(net.pin_count, 2)
assert_equal(net.terminal_count, 0)
assert_equal(net.is_floating?, false)
assert_equal(net.is_internal?, false)
cnames = []
net.each_pin { |p| cnames << p.subcircuit.name + ":" + p.pin.name }