104 BOOST_TEST( blk.m_Next.value_or( 0 ) == 0xb91 );
109 BOOST_TEST( blk.GetCompDeviceTypeStr() ==
"RES_10K_1/16W_1%_0402_402_10K,1" );
124 BOOST_TEST( blk.m_Next.value_or( 0 ) == 0x126 );
129 BOOST_TEST( blk.GetCompDeviceTypeStr() ==
"AM4096" );
145 BOOST_TEST( blk.m_Components.size() == 10 + 3 * 1);
157 const auto& hdr16x = std::get<BLK_0x1C_PADSTACK::HEADER_v16x>( blk.m_Header );
173 const auto& hdr16x = std::get<BLK_0x1C_PADSTACK::HEADER_v16x>( blk.m_Header );
193 const auto& hdr17x = std::get<BLK_0x1C_PADSTACK::HEADER_v17x>( blk.m_Header );
202 BOOST_TEST( hdr17x.m_ToleranceTravelPos == 300 );
203 BOOST_TEST( hdr17x.m_ToleranceTravelNeg == 300 );
220 BOOST_TEST( blk.m_Components.size() == 21 + 4 * 12 );
223 BOOST_TEST( blk.m_Components[0].m_W == 244000 );
224 BOOST_TEST( blk.m_Components[0].m_H == 244000 );
241 BOOST_TEST( blk.m_Components.size() == 11 + 3 * 6 );
244 BOOST_TEST( blk.m_Components[0].m_W == 275591 );
245 BOOST_TEST( blk.m_Components[0].m_H == 275591 );
278 { {
"Olympus_15061-1b_v165", 0x0131553c }, [](
const DB_OBJ& obj )
282 const auto& blk =
static_cast<const UNKNOWN_0x20&
>( obj );
283 BOOST_TEST( blk.m_Next.m_TargetKey == 0x824DF8F0 );
298 const auto& testFunc = it->second;
305 BOOST_TEST_FAIL(
"No additional test defined for this block" );
317 const auto& testFunc = it->second;
324 BOOST_TEST_FAIL(
"No additional test defined for this DB_OBJ" );
The base class for all blocks in the main body of an Allegro file.
uint8_t GetBlockType() const
static constexpr std::size_t hash_val(const Types &... args)
void RunAdditionalObjectTest(const std::string &aBoardName, size_t aBlockOffset, const ALLEGRO::DB_OBJ &aDbObj)
Look up and run any additional ad-hoc tests for a DB_OBJ (parsed and converted block)
void RunAdditionalBlockTest(const std::string &aBoardName, size_t aBlockOffset, const ALLEGRO::BLOCK_BASE &aBlock)
Look up and run any additional ad-hoc tests for a block.
A DB_OBJ represents one object in an Allegro database.
Unique key for identifying a block test, used for looking up additional validation functions.
bool operator==(const BLOCK_TEST_KEY &other) const
size_t operator()(const BLOCK_TEST_KEY &key) const
static void TestBeagleBoneBlack_0x0F_SlotG1(const BLOCK_BASE &aBlock)
Tests a V17.2 slot def.
static const std::unordered_map< BLOCK_TEST_KEY, DB_OBJ_TEST_FUNC > additionalDbObjTests
static void TestOlympus0x20(const BLOCK_BASE &aBlock)
static void TestBeagleBoneBlack_PS_120X040SLOT(const BLOCK_BASE &aBlock)
static void TestCutiePiV166_PS_C50H340M700N(const BLOCK_BASE &aBlock)
std::function< void(const DB_OBJ &)> DB_OBJ_TEST_FUNC
std::function< void(const BLOCK_BASE &)> BLOCK_TEST_FUNC
static const std::unordered_map< BLOCK_TEST_KEY, BLOCK_TEST_FUNC > additionalBlockTests
The registry of additional block tests, keyed by board name and block offset.
static void TestParallellaV163_PS_P65X1P7SLT(const BLOCK_BASE &aBlock)
static void TestBeagleBoneAI_PS_200C125D(const BLOCK_BASE &aBlock)
static void TestOpenBreath_0x0F_SlotAM4096_G1(const BLOCK_BASE &aBlock)
Tests a V17.4 slot def.
static void TestParallellaV163_PS_28C128N(const BLOCK_BASE &aBlock)
static void TestParallellaV163_PS_56X55RT(const BLOCK_BASE &aBlock)
This is a 1-layer SMD padstack in v16.3 format.
BOOST_TEST(contains==c.ExpectedContains)
BOOST_REQUIRE(intersection.has_value()==c.ExpectedIntersection.has_value())