60 LoadSchematic( SchematicQAPath(
"schematic_object_tests/not_shared_by_multiple_projects/"
61 "not_shared_by_multiple_projects" ) );
63 std::set<const SCH_SCREEN*> sharedScreens = m_schematic->GetSchematicsSharedByMultipleProjects();
65 BOOST_CHECK( sharedScreens.empty() );
67 LoadSchematic( SchematicQAPath(
"schematic_object_tests/shared_by_multiple_projects/"
68 "project_a/project_a" ) );
70 sharedScreens = m_schematic->GetSchematicsSharedByMultipleProjects();
72 BOOST_CHECK( !sharedScreens.empty() );
90 LoadSchematic( SchematicQAPath(
"netlists/hierarchy_aliases/hierarchy_aliases" ) );
91 auto original = m_schematic->GetBusAlias( wxS(
"ALIAS1" ) );
93 auto changed = original->Clone();
94 changed->SetMembers( { wxS(
"CHANGED" ) } );
96 m_schematic->AddBusAlias( changed );
97 BOOST_REQUIRE( m_schematic->GetBusAlias( original->GetName() ) );
98 BOOST_CHECK( m_schematic->GetBusAlias( original->GetName() )->Members() == changed->Members() );
99 BOOST_CHECK( m_schematic->Project().GetProjectFile().m_BusAliases.at( original->GetName() )
100 == changed->Members() );
101 changed->SetMembers( original->Members() );
102 BOOST_CHECK( m_schematic->GetBusAlias( original->GetName() )->Members() != changed->Members() );
103 changed->SetMembers( { wxS(
"CHANGED" ) } );
105 m_schematic->AddBusAlias( original );
106 BOOST_CHECK( m_schematic->GetAllBusAliases().back()->Members() == original->Members() );
107 m_schematic->SetBusAliases( { original, changed, original } );
108 BOOST_CHECK( m_schematic->GetAllBusAliases().back()->Members() == original->Members() );
109 m_schematic->SetBusAliases( m_schematic->GetAllBusAliases() );
110 BOOST_REQUIRE( m_schematic->GetBusAlias( original->GetName() ) );
112 m_schematic->Reset();
113 BOOST_REQUIRE( m_schematic->GetBusAlias( original->GetName() ) );
114 BOOST_CHECK( m_schematic->GetBusAlias( original->GetName() )->Members() == original->Members() );
115 m_schematic->SetBusAliases( {} );
116 m_schematic->Reset();
117 BOOST_CHECK( m_schematic->GetAllBusAliases().empty() );
118 BOOST_CHECK( m_schematic->Project().GetProjectFile().m_BusAliases.empty() );
124 LoadSchematic( SchematicQAPath(
"issue23840/BusAndVectors" ) );
125 const SCH_SHEET_LIST sheets = m_schematic->BuildSheetListSortedByPageNumbers();
126 BOOST_REQUIRE_EQUAL( sheets.size(), 3 );
127 std::set<SCH_SCREEN*> screens;
130 screens.insert(
path.LastScreen() );
132 BOOST_REQUIRE_EQUAL( screens.size(), 2 );
133 std::vector<std::weak_ptr<LIB_SYMBOL>> symbols;
138 symbols.emplace_back( screen->GetLibSymbols().begin()->second->SharedPtr() );
141 const auto* symbol =
static_cast<const SCH_SYMBOL*
>( *items.begin() );
143 symbols.emplace_back( symbol->GetLibSymbolRef()->SharedPtr() );
146 for(
const std::weak_ptr<LIB_SYMBOL>& symbol : symbols )
151 for(
const std::weak_ptr<LIB_SYMBOL>& symbol : symbols )
152 BOOST_CHECK( symbol.expired() );