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
27std::ostream& operator<<( std::ostream& os, const PCB_MARKER& aMarker )
28{
29 const auto& reporter = aMarker.GetRCItem();
30 os << "PCB_MARKER[\n";
31 os << " type=" << reporter->GetErrorCode() << " (" << reporter->GetErrorText() << ")"
32 << "\n";
33 os << "]";
34 return os;
35}
36
37
38namespace KI_TEST
39{
40
41bool IsDrcMarkerOfType( const PCB_MARKER& aMarker, int aErrorCode )
42{
43 return aMarker.GetRCItem()->GetErrorCode() == aErrorCode;
44}
45
46} // namespace KI_TEST
std::shared_ptr< RC_ITEM > GetRCItem() const
Definition: marker_base.h:105
std::ostream & operator<<(std::ostream &os, const PCB_MARKER &aMarker)
Define a stream function for logging PCB_MARKER test assertions.
General utilities for DRC-related PCB tests.
bool IsDrcMarkerOfType(const PCB_MARKER &aMarker, int aErrorCode)
Predicate for testing the type of a DRC marker.