KiCad PCB EDA Suite
drc_test_utils.cpp
Go to the documentation of this file.
1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2019 KiCad Developers, see AUTHORS.txt for contributors.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, you may find one here:
18  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19  * or you may search the http://www.gnu.org website for the version 2 license,
20  * or you may write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23 
24 #include "drc_test_utils.h"
25 
26 
27 std::ostream& operator<<( std::ostream& os, const MARKER_PCB& aMarker )
28 {
29  const auto& reporter = aMarker.GetRCItem();
30  os << "MARKER_PCB[\n";
31  os << " type=" << reporter->GetErrorCode() << " (" << reporter->GetErrorText() << ")"
32  << "\n";
33  os << "]";
34  return os;
35 }
36 
37 
38 namespace KI_TEST
39 {
40 
41 bool IsDrcMarkerOfType( const MARKER_PCB& aMarker, int aErrorCode )
42 {
43  return aMarker.GetRCItem()->GetErrorCode() == aErrorCode;
44 }
45 
46 } // namespace KI_TEST
std::ostream & operator<<(std::ostream &os, const MARKER_PCB &aMarker)
Define a stream function for logging MARKER_PCB test assertions.
RC_ITEM * GetRCItem()
Function GetReporter returns the DRC_ITEM held within this MARKER so that its interface may be used.
Definition: marker_base.h:117
bool IsDrcMarkerOfType(const MARKER_PCB &aMarker, int aErrorCode)
Predicate for testing the type of a DRC marker.
int GetErrorCode() const
Definition: rc_item.h:138
General utilities for DRC-related PCB tests.