21#include <boost/test/unit_test.hpp>
36constexpr int PAD_SIZE_NM = 500'000;
44 pad->SetPosition( aPos );
51NETINFO_ITEM* addNet(
BOARD* aBoard,
const wxString& aName,
int aCode,
const wxString& aChain )
98 NETINFO_ITEM* netA = addNet( &board, wxS(
"/A" ), 1, wxS(
"SIG" ) );
99 NETINFO_ITEM* netB = addNet( &board, wxS(
"/B" ), 2, wxS(
"SIG" ) );
102 addPad( fp, netA,
VECTOR2I( -1'000'000, 0 ) );
103 addPad( fp, netB,
VECTOR2I( 1'000'000, 0 ) );
108 BOOST_CHECK_CLOSE( len, 2'000'000.0, 0.001 );
112 BOOST_CHECK_CLOSE( delay, expectedDelayIU, 0.001 );
113 BOOST_CHECK_GT( delay, 0.0 );
121 NETINFO_ITEM* netA = addNet( &board, wxS(
"/A" ), 1, wxS(
"SIG" ) );
124 addPad( fp, netA,
VECTOR2I( -1'000'000, 0 ) );
125 addPad( fp, netA,
VECTOR2I( 1'000'000, 0 ) );
138 NETINFO_ITEM* netA = addNet( &board, wxS(
"/A" ), 1, wxS(
"SIG" ) );
139 NETINFO_ITEM* netB = addNet( &board, wxS(
"/B" ), 2, wxS(
"SIG" ) );
140 NETINFO_ITEM* netC = addNet( &board, wxS(
"/C" ), 3, wxS(
"SIG" ) );
143 addPad( fp1, netA,
VECTOR2I( -1'500'000, 0 ) );
144 addPad( fp1, netB,
VECTOR2I( 1'500'000, 0 ) );
147 addPad( fp2, netB,
VECTOR2I( 10'000'000, 0 ) );
148 addPad( fp2, netC,
VECTOR2I( 13'000'000, 0 ) );
152 BOOST_CHECK_CLOSE( len, 6'000'000.0, 0.001 );
155 BOOST_CHECK_CLOSE( delay, expectedDelayIU, 0.001 );
163 NETINFO_ITEM* netA = addNet( &board, wxS(
"/A" ), 1, wxS(
"SIG_X" ) );
164 NETINFO_ITEM* netB = addNet( &board, wxS(
"/B" ), 2, wxS(
"SIG_X" ) );
165 NETINFO_ITEM* netC = addNet( &board, wxS(
"/C" ), 3, wxS(
"SIG_Y" ) );
166 NETINFO_ITEM* netD = addNet( &board, wxS(
"/D" ), 4, wxS(
"SIG_Y" ) );
169 addPad( fp1, netA,
VECTOR2I( -1'000'000, 0 ) );
170 addPad( fp1, netB,
VECTOR2I( 1'000'000, 0 ) );
173 addPad( fp2, netC,
VECTOR2I( 10'000'000, 0 ) );
174 addPad( fp2, netD,
VECTOR2I( 14'000'000, 0 ) );
179 BOOST_CHECK_CLOSE( xLen, 2'000'000.0, 0.001 );
180 BOOST_CHECK_CLOSE( yLen, 4'000'000.0, 0.001 );
184 BOOST_CHECK_CLOSE( xDelay, expectedXDelayIU, 0.001 );
185 BOOST_CHECK_CLOSE( yDelay, expectedYDelayIU, 0.001 );
186 BOOST_CHECK_GT( yDelay, xDelay );
194 NETINFO_ITEM* netA = addNet( &board, wxS(
"/A" ), 1, wxS(
"SIG" ) );
195 NETINFO_ITEM* netB = addNet( &board, wxS(
"/B" ), 2, wxS(
"SIG" ) );
201 addPad( fp, netA,
VECTOR2I( -1'500'000'000, 0 ) );
202 addPad( fp, netB,
VECTOR2I( 1'500'000'000, 0 ) );
206 BOOST_CHECK_CLOSE( len, 3'000'000'000.0, 0.001 );
209 BOOST_CHECK_CLOSE( delay, expectedDelayIU, 0.001 );
210 BOOST_CHECK_GT( delay, 0.0 );
constexpr EDA_IU_SCALE pcbIUScale
Information pertinent to a Pcbnew printed circuit board.
void Add(BOARD_ITEM *aItem, ADD_MODE aMode=ADD_MODE::INSERT, bool aSkipConnectivity=false) override
Removes an item from the container.
Handle the data for a net.
void SetNetChain(const wxString &aNetChain)
static constexpr PCB_LAYER_ID ALL_LAYERS
! Temporary layer identifier to identify code that is not padstack-aware
constexpr double DEFAULT_PROPAGATION_DELAY_PS_PER_MM
std::tuple< double, double > BoardChainBridging(const BOARD *aBoard, const wxString &aNetChain)
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
BOOST_AUTO_TEST_SUITE(CadstarPartParser)
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_CASE(EmptyInputsReturnZero)
BOOST_CHECK_EQUAL(result, "25.4")
VECTOR2< int32_t > VECTOR2I