368 testPart.
SetName(
"tart_name" );
369 BOOST_CHECK( m_part_no_data.Compare( testPart ) < 0 );
370 testPart.
SetName(
"cart_name" );
371 BOOST_CHECK( m_part_no_data.Compare( testPart ) > 0 );
372 testPart.
SetName(
"part_name" );
378 BOOST_CHECK( m_part_no_data.Compare( testPart ) < 0 );
379 id.SetLibItemName(
"cart_name" );
381 BOOST_CHECK( m_part_no_data.Compare( testPart ) > 0 );
382 id.SetLibItemName(
"part_name" );
387 BOOST_CHECK( m_part_no_data.Compare( testPart ) < 0 );
389 m_part_no_data.SetUnitCount( 2,
true );
390 BOOST_CHECK( m_part_no_data.Compare( testPart ) > 0 );
391 m_part_no_data.SetUnitCount( 1,
true );
395 BOOST_CHECK( m_part_no_data.Compare( testPart ) < 0 );
397 m_part_no_data.SetGlobalPower();
398 BOOST_CHECK( m_part_no_data.Compare( testPart ) > 0 );
399 m_part_no_data.SetNormal();
405 m_part_no_data.RemoveDrawItem( &m_part_no_data.GetDrawItems()[
SCH_SHAPE_T].front() );
410 m_part_no_data.RemoveDrawItem( &m_part_no_data.GetDrawItems()[
SCH_SHAPE_T].front() );
416 m_part_no_data.RemoveDrawItem( &m_part_no_data.GetDrawItems()[
SCH_SHAPE_T].front() );
418 m_part_no_data.AddDrawItem(
new SCH_PIN( &m_part_no_data ) );
420 m_part_no_data.RemoveDrawItem( &m_part_no_data.GetDrawItems()[
SCH_PIN_T].front() );
423 wxArrayString footPrintFilters;
424 BOOST_CHECK( m_part_no_data.GetFPFilters() == footPrintFilters );
425 footPrintFilters.Add(
"b" );
428 m_part_no_data.SetFPFilters( footPrintFilters );
429 footPrintFilters.Clear();
432 footPrintFilters.Clear();
433 m_part_no_data.SetFPFilters( footPrintFilters );
437 m_part_no_data.SetDescription(
"b" );
440 m_part_no_data.SetDescription(
"a" );
442 m_part_no_data.SetDescription(
"c" );
444 m_part_no_data.SetDescription( wxEmptyString );
448 m_part_no_data.SetKeyWords(
"b" );
451 m_part_no_data.SetKeyWords(
"a" );
453 m_part_no_data.SetKeyWords(
"c" );
455 m_part_no_data.SetKeyWords( wxEmptyString );
469 m_part_no_data.LockUnits(
true );
471 m_part_no_data.LockUnits(
false );
477 m_part_no_data.SetExcludedFromBOM(
true );
479 m_part_no_data.SetExcludedFromBOM(
false );
485 m_part_no_data.SetExcludedFromBoard(
true );
487 m_part_no_data.SetExcludedFromBoard(
false );
493 m_part_no_data.SetExcludedFromPosFiles(
true );
495 m_part_no_data.SetExcludedFromPosFiles(
false );
498 m_part_no_data.SetShowPinNames(
false );
500 m_part_no_data.SetShowPinNames(
true );
506 m_part_no_data.SetShowPinNumbers(
false );
508 m_part_no_data.SetShowPinNumbers(
true );
527 BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 1, 1 ).size() == 0 );
531 m_part_no_data.AddDrawItem( pin1 );
532 BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 0, 0 ).size() == 1 );
536 BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 1, 0 ).size() == 1 );
540 BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 1, 1 ).size() == 1 );
545 m_part_no_data.SetUnitCount( 2,
true );
549 m_part_no_data.AddDrawItem( pin2 );
550 BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 2, 2 ).size() == 1 );
554 BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 1, 1 ).size() == 0 );
555 BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 2, 1 ).size() == 1 );
557 m_part_no_data.RemoveDrawItem( pin2 );
558 m_part_no_data.RemoveDrawItem( pin1 );
559 m_part_no_data.RemoveDrawItem( &*m_part_no_data.GetDrawItems().begin() );
588 std::unique_ptr<LIB_SYMBOL> parent = std::make_unique<LIB_SYMBOL>(
"parent" );
589 BOOST_CHECK( parent->IsRoot() );
592 std::unique_ptr<LIB_SYMBOL> ref = std::make_unique<LIB_SYMBOL>( *parent );
594 std::unique_ptr<LIB_SYMBOL> child = std::make_unique<LIB_SYMBOL>(
"child", parent.get() );
595 BOOST_CHECK( child->IsDerived() );
598 std::unique_ptr<LIB_SYMBOL> grandChild = std::make_unique<LIB_SYMBOL>(
"grandchild", child.get() );
599 BOOST_CHECK( grandChild->IsDerived() );
602 BOOST_CHECK( parent->GetRootSymbol().get() == parent.get() );
603 BOOST_CHECK( child->GetRootSymbol().get() == parent.get() );
604 BOOST_CHECK( grandChild->GetRootSymbol().get() == parent.get() );
606 std::shared_ptr<LIB_SYMBOL> parentRef = child->GetParent().lock();
607 BOOST_CHECK( parentRef );
608 BOOST_CHECK( parentRef == parent->SharedPtr() );
611 std::shared_ptr<LIB_SYMBOL> childRef = grandChild->GetParent().lock();
612 BOOST_CHECK( childRef );
613 BOOST_CHECK( childRef == child->SharedPtr() );
617 parent->SetUnitCount( 4,
true );
619 parent->SetUnitCount( 1,
true );
624 BOOST_CHECK( *parent == *ref );
626 ref->SetName(
"child" );
629 child->AddField( field );
634 ref->AddField( field );
637 BOOST_CHECK( *ref == *child->Flatten() );
639 ref->SetName(
"grandchild" );
642 grandChild->AddField( field );
647 ref->AddField( field );
650 BOOST_CHECK( *ref == *grandChild->Flatten() );
653 "https://kicad/resistors.pdf" );