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 );
 
  490    m_part_no_data.SetShowPinNames( 
false );
 
  492    m_part_no_data.SetShowPinNames( 
true );
 
  498    m_part_no_data.SetShowPinNumbers( 
false );
 
  500    m_part_no_data.SetShowPinNumbers( 
true );
 
 
  519    BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 1, 1 ).size() == 0 );
 
  523    m_part_no_data.AddDrawItem( pin1 );
 
  524    BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 0, 0 ).size() == 1 );
 
  528    BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 1, 0 ).size() == 1 );
 
  532    BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 1, 1 ).size() == 1 );
 
  537    m_part_no_data.SetUnitCount( 2, 
true );
 
  541    m_part_no_data.AddDrawItem( pin2 );
 
  542    BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 2, 2 ).size() == 1 );
 
  546    BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 1, 1 ).size() == 0 );
 
  547    BOOST_CHECK( m_part_no_data.GetUnitDrawItems( 2, 1 ).size() == 1 );
 
  549    m_part_no_data.RemoveDrawItem( pin2 );
 
  550    m_part_no_data.RemoveDrawItem( pin1 );
 
  551    m_part_no_data.RemoveDrawItem( &*m_part_no_data.GetDrawItems().begin() );
 
 
  580    std::unique_ptr<LIB_SYMBOL> parent = std::make_unique<LIB_SYMBOL>( 
"parent" );
 
  581    BOOST_CHECK( parent->IsRoot() );
 
  584    std::unique_ptr<LIB_SYMBOL> ref = std::make_unique<LIB_SYMBOL>( *parent );
 
  586    std::unique_ptr<LIB_SYMBOL> child = std::make_unique<LIB_SYMBOL>( 
"child", parent.get() );
 
  587    BOOST_CHECK( child->IsDerived() );
 
  590    std::unique_ptr<LIB_SYMBOL> grandChild = std::make_unique<LIB_SYMBOL>( 
"grandchild", child.get() );
 
  591    BOOST_CHECK( grandChild->IsDerived() );
 
  594    BOOST_CHECK( parent->GetRootSymbol().get() == parent.get() );
 
  595    BOOST_CHECK( child->GetRootSymbol().get() == parent.get() );
 
  596    BOOST_CHECK( grandChild->GetRootSymbol().get() == parent.get() );
 
  598    std::shared_ptr<LIB_SYMBOL> parentRef = child->GetParent().lock();
 
  599    BOOST_CHECK( parentRef );
 
  600    BOOST_CHECK( parentRef == parent->SharedPtr() );
 
  603    std::shared_ptr<LIB_SYMBOL> childRef = grandChild->GetParent().lock();
 
  604    BOOST_CHECK( childRef );
 
  605    BOOST_CHECK( childRef == child->SharedPtr() );
 
  609    parent->SetUnitCount( 4, 
true );
 
  611    parent->SetUnitCount( 1, 
true );
 
  616    BOOST_CHECK( *parent == *ref );
 
  618    ref->SetName( 
"child" );
 
  621    child->AddField( field );
 
  626    ref->AddField( field );
 
  629    BOOST_CHECK( *ref == *child->Flatten() );
 
  631    ref->SetName( 
"grandchild" );
 
  634    grandChild->AddField( field );
 
  639    ref->AddField( field );
 
  642    BOOST_CHECK( *ref == *grandChild->Flatten() );
 
  645                       "https://kicad/resistors.pdf" );