@@ -51,6 +51,16 @@ TEST_F(CallbackFixture, test_inst_and_iterm)
5151 EXPECT_EQ (cb_.events [0 ], " PreMove inst i1" );
5252 EXPECT_EQ (cb_.events [1 ], " PostMove inst i1" );
5353 cb_.clearEvents ();
54+ i1->setPlacementStatus (dbPlacementStatus::FIRM);
55+ EXPECT_EQ (cb_.events .size (), 1 );
56+ EXPECT_EQ (cb_.events [0 ], " Change inst status: i1 -> FIRM" );
57+ cb_.clearEvents ();
58+ i1->setPlacementStatus (dbPlacementStatus::FIRM);
59+ EXPECT_EQ (cb_.events .size (), 0 );
60+ i1->setPlacementStatus (dbPlacementStatus::NONE);
61+ EXPECT_EQ (cb_.events .size (), 1 );
62+ EXPECT_EQ (cb_.events [0 ], " Change inst status: i1 -> NONE" );
63+ cb_.clearEvents ();
5464 i1->findITerm (" a" )->connect (n1);
5565 EXPECT_EQ (cb_.events .size (), 2 );
5666 EXPECT_EQ (cb_.events [0 ], " PreConnect iterm to net n1" );
@@ -122,6 +132,17 @@ TEST_F(CallbackFixture, test_bpin)
122132 EXPECT_EQ (cb_.events .size (), 1 );
123133 EXPECT_EQ (cb_.events [0 ], " Create BPin for IN1" );
124134 cb_.clearEvents ();
135+ pin->setPlacementStatus (dbPlacementStatus::FIRM);
136+ EXPECT_EQ (cb_.events .size (), 1 );
137+ EXPECT_EQ (cb_.events [0 ], " Change BPin status: <dbBPin:1> -> FIRM" );
138+ cb_.clearEvents ();
139+ pin->setPlacementStatus (dbPlacementStatus::FIRM);
140+ EXPECT_EQ (cb_.events .size (), 0 );
141+ cb_.clearEvents ();
142+ pin->setPlacementStatus (dbPlacementStatus::NONE);
143+ EXPECT_EQ (cb_.events .size (), 1 );
144+ EXPECT_EQ (cb_.events [0 ], " Change BPin status: <dbBPin:1> -> NONE" );
145+ cb_.clearEvents ();
125146 dbBox* box
126147 = dbBox::create (pin, db_->getTech ()->findLayer (" L1" ), 0 , 0 , 100 , 100 );
127148 EXPECT_EQ (cb_.events .size (), 1 );
0 commit comments