KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_bus_alias_whitespace.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 The 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 3
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, see <https://www.gnu.org/licenses/>.
18
*/
19
26
27
#include <
qa_utils/wx_utils/unit_test_utils.h
>
28
#include <
bus_alias.h
>
29
30
31
BOOST_AUTO_TEST_SUITE
( BusAliasWhitespace )
32
33
34
BOOST_AUTO_TEST_CASE
( SetNameTrimsWhitespace )
35
{
36
BUS_ALIAS
alias;
37
38
alias.
SetName
( wxS(
"DATA "
) );
39
BOOST_CHECK_EQUAL
( alias.
GetName
(), wxS(
"DATA"
) );
40
41
alias.
SetName
( wxS(
" DATA"
) );
42
BOOST_CHECK_EQUAL
( alias.
GetName
(), wxS(
"DATA"
) );
43
44
alias.
SetName
( wxS(
" DATA "
) );
45
BOOST_CHECK_EQUAL
( alias.
GetName
(), wxS(
"DATA"
) );
46
47
alias.
SetName
( wxS(
"DATA"
) );
48
BOOST_CHECK_EQUAL
( alias.
GetName
(), wxS(
"DATA"
) );
49
50
alias.
SetName
( wxS(
" "
) );
51
BOOST_CHECK_EQUAL
( alias.
GetName
(), wxS(
""
) );
52
}
53
54
55
BOOST_AUTO_TEST_CASE
( AddMemberTrimsWhitespace )
56
{
57
BUS_ALIAS
alias;
58
59
alias.
AddMember
( wxS(
"SDA "
) );
60
alias.
AddMember
( wxS(
" SCL"
) );
61
alias.
AddMember
( wxS(
" MOSI "
) );
62
alias.
AddMember
( wxS(
"MISO"
) );
63
64
BOOST_REQUIRE_EQUAL( alias.
Members
().size(), 4u );
65
BOOST_CHECK_EQUAL
( alias.
Members
()[0], wxS(
"SDA"
) );
66
BOOST_CHECK_EQUAL
( alias.
Members
()[1], wxS(
"SCL"
) );
67
BOOST_CHECK_EQUAL
( alias.
Members
()[2], wxS(
"MOSI"
) );
68
BOOST_CHECK_EQUAL
( alias.
Members
()[3], wxS(
"MISO"
) );
69
}
70
71
72
BOOST_AUTO_TEST_CASE
( AddMemberRejectsEmpty )
73
{
74
BUS_ALIAS
alias;
75
76
alias.
AddMember
( wxS(
""
) );
77
alias.
AddMember
( wxS(
" "
) );
78
alias.
AddMember
( wxS(
"SDA"
) );
79
80
BOOST_REQUIRE_EQUAL( alias.
Members
().size(), 1u );
81
BOOST_CHECK_EQUAL
( alias.
Members
()[0], wxS(
"SDA"
) );
82
}
83
84
85
BOOST_AUTO_TEST_CASE
( SetMembersTrimsWhitespace )
86
{
87
BUS_ALIAS
alias;
88
89
std::vector<wxString> members = { wxS(
" SDA "
), wxS(
"SCL "
), wxS(
" MOSI"
), wxS(
""
), wxS(
" "
) };
90
alias.
SetMembers
( members );
91
92
BOOST_REQUIRE_EQUAL( alias.
Members
().size(), 3u );
93
BOOST_CHECK_EQUAL
( alias.
Members
()[0], wxS(
"SDA"
) );
94
BOOST_CHECK_EQUAL
( alias.
Members
()[1], wxS(
"SCL"
) );
95
BOOST_CHECK_EQUAL
( alias.
Members
()[2], wxS(
"MOSI"
) );
96
}
97
98
99
BOOST_AUTO_TEST_CASE
( ClonePreservesTrimmedValues )
100
{
101
BUS_ALIAS
alias;
102
103
alias.
SetName
( wxS(
"DATA "
) );
104
alias.
AddMember
( wxS(
" SDA "
) );
105
alias.
AddMember
( wxS(
"SCL "
) );
106
107
std::shared_ptr<BUS_ALIAS> clone = alias.
Clone
();
108
109
BOOST_CHECK_EQUAL
( clone->GetName(), wxS(
"DATA"
) );
110
BOOST_REQUIRE_EQUAL( clone->Members().size(), 2u );
111
BOOST_CHECK_EQUAL
( clone->Members()[0], wxS(
"SDA"
) );
112
BOOST_CHECK_EQUAL
( clone->Members()[1], wxS(
"SCL"
) );
113
}
114
115
116
BOOST_AUTO_TEST_CASE
( ClearMembersWorks )
117
{
118
BUS_ALIAS
alias;
119
120
alias.
AddMember
( wxS(
"SDA"
) );
121
alias.
AddMember
( wxS(
"SCL"
) );
122
BOOST_CHECK_EQUAL
( alias.
Members
().size(), 2u );
123
124
alias.
ClearMembers
();
125
BOOST_CHECK_EQUAL
( alias.
Members
().size(), 0u );
126
}
127
128
129
BOOST_AUTO_TEST_SUITE_END
()
bus_alias.h
BUS_ALIAS
Definition
bus_alias.h:31
BUS_ALIAS::SetName
void SetName(const wxString &aName)
Definition
bus_alias.h:45
BUS_ALIAS::SetMembers
void SetMembers(const std::vector< wxString > &aMembers)
Definition
bus_alias.h:49
BUS_ALIAS::Clone
std::shared_ptr< BUS_ALIAS > Clone() const
Definition
bus_alias.h:38
BUS_ALIAS::ClearMembers
void ClearMembers()
Definition
bus_alias.h:70
BUS_ALIAS::GetName
wxString GetName() const
Definition
bus_alias.h:43
BUS_ALIAS::Members
const std::vector< wxString > & Members() const
Definition
bus_alias.h:47
BUS_ALIAS::AddMember
void AddMember(const wxString &aMember)
Definition
bus_alias.h:62
BOOST_AUTO_TEST_CASE
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
Definition
test_api_enums.cpp:71
BOOST_AUTO_TEST_CASE
BOOST_AUTO_TEST_CASE(SetNameTrimsWhitespace)
Definition
test_bus_alias_whitespace.cpp:34
BOOST_AUTO_TEST_SUITE
BOOST_AUTO_TEST_SUITE(CadstarPartParser)
BOOST_AUTO_TEST_SUITE_END
BOOST_AUTO_TEST_SUITE_END()
BOOST_CHECK_EQUAL
BOOST_CHECK_EQUAL(result, "25.4")
unit_test_utils.h
src
qa
tests
eeschema
test_bus_alias_whitespace.cpp
Generated on Fri Jun 26 2026 00:05:43 for KiCad PCB EDA Suite by
1.13.2