36 BOOST_AUTO_TEST_SUITE( ArrayAxis )
53 const std::vector<VALID_OFFSET_CASE> cases = {
55 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_NUMERIC,
61 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_NUMERIC,
67 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_NUMERIC,
73 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_NUMERIC,
79 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_NUMERIC,
85 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_ALPHA_FULL,
91 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_ALPHA_FULL,
97 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_HEX,
103 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_HEX,
111 for(
const auto& c : cases )
116 bool offset_ok = axis.
SetOffset( c.m_offset_str );
118 BOOST_CHECK_EQUAL( offset_ok, c.m_exp_valid );
122 BOOST_CHECK_EQUAL( axis.
GetOffset(), c.m_exp_offset );
151 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_NUMERIC,
156 {
"1",
"2",
"3",
"4",
"5",
"6" },
162 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_ALPHA_FULL,
173 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_ALPHA_FULL,
178 {
"Y",
"Z",
"AA",
"AB" },
183 ARRAY_AXIS::NUMBERING_TYPE::NUMBERING_NUMERIC,
188 {
"11",
"13",
"15",
"17",
"19",
"21" },
204 axis.
SetStep( c.m_prms.m_step );
206 bool start_ok = axis.
SetOffset( c.m_prms.m_start_at );
211 std::vector<std::string> names;
213 for(
int i = 0; i < c.m_num; i++ )
218 BOOST_CHECK_EQUAL_COLLECTIONS(
219 names.begin(), names.end(), c.m_exp_names.begin(), c.m_exp_names.end() );
224 BOOST_AUTO_TEST_SUITE_END()
std::vector< std::string > m_exp_names
wxString GetItemNumber(int n) const
Get the position number (name) for the n'th axis point.
ARRAY_AXIS_NAMING_PARAMS m_prms
void SetAxisType(NUMBERING_TYPE aType)
Set the axis numbering type.
bool SetOffset(const wxString &aOffsetName)
Set the axis start (as a string, which should decode to a valid index in the alphabet)
BOOST_CHECK(v2.Cross(v1)==1)
ARRAY_AXIS::NUMBERING_TYPE m_axis_type
void SetStep(int aStep)
Set the skip between consecutive numbers (useful when doing a partial array, e.g.
static const std::vector< ARRAY_AXIS_NAMING_CASE > axis_name_cases
Class that contains information about a single array axis and the numbering of items along that axis.
int GetOffset() const
Get the numbering offset for the axis.
#define BOOST_TEST_CONTEXT(A)
ARRAY_AXIS::NUMBERING_TYPE m_axis_type
Data for testing a single array axis.
BOOST_AUTO_TEST_CASE(ValidOffsets)
Check we can get valid (or invalid) offsets as expected.