29#include <system_error>
33namespace fs = std::filesystem;
49 / (
"kicad_job_export_pcb_3d_test_" +
KIID().
AsString().ToStdString() );
53 /
"issue25107.kicad_jobset";
69 BOOST_REQUIRE_EQUAL( aJobset.
GetJobs().size(), 2 );
138 wxString contents = jobsetContents();
140 BOOST_CHECK( contents.Contains( wxS(
"component_filter" ) ) );
141 BOOST_CHECK( contents.Contains( wxS(
"net_filter" ) ) );
143 JOBSET reloaded( jobsetPath() );
169 JOBSET reloaded( jobsetPath() );
171 std::vector<std::pair<const char*, bool*>> settings =
boolSettings( *job );
173 for(
size_t ii = 0; ii < settings.size(); ++ii )
201 JOBSET reloaded( jobsetPath() );
209 BOOST_CHECK( jobsetContents().Contains( wxS(
"\"user_origin.x\": 12.5" ) ) );
constexpr EDA_IU_SCALE pcbIUScale
double m_BoardOutlinesChainingEpsilon
bool m_IncludeUnspecified
wxString m_ComponentFilter
bool m_UsePcbCenterOrigin
std::vector< JOBSET_JOB > & GetJobs()
The 3D model export job settings must survive a real save/load cycle through a .kicad_jobset on disk.
wxString jobsetPath() const
JOB_EXPORT_PCB_3D * loadFilteredJob(JOBSET &aJobset)
The reporter's second job, "3D model export (resistors only)".
wxString jobsetContents() const
~JOB_EXPORT_PCB_3D_TEST_FIXTURE()
JOB_EXPORT_PCB_3D_TEST_FIXTURE()
JOB_EXPORT_PCB_3D::FORMAT m_format
void SetStepFormat(EXPORTER_STEP_PARAMS::FORMAT aFormat)
EXPORTER_STEP_PARAMS m_3dparams
Despite the name; also used for other formats.
void SetConfiguredOutputPath(const wxString &aPath)
Sets the configured output path for the job, this path is always saved to file.
wxString GetConfiguredOutputPath() const
Returns the configured output path for the job.
virtual bool LoadFromFile(const wxString &aDirectory="")
Loads the backing file from disk and then calls Load()
wxString AsString() const
std::string GetTestDataRootDir()
wxString SafeReadFile(const wxString &aFilePath, const wxString &aReadType)
Nominally opens a file and reads it into a string.
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
BOOST_REQUIRE(intersection.has_value()==c.ExpectedIntersection.has_value())
BOOST_AUTO_TEST_SUITE_END()
static std::vector< std::pair< const char *, bool * > > boolSettings(JOB_EXPORT_PCB_3D &aJob)
Every boolean setting of the job, so that adding a field without a JSON mapping fails the round trip ...
BOOST_AUTO_TEST_CASE(FiltersSurviveDiskRoundTrip)
The component filter and the net filter are the two fields called out in the issue.
VECTOR3I expected(15, 30, 45)
BOOST_TEST_CONTEXT("Test Clearance")
BOOST_CHECK_EQUAL(result, "25.4")
VECTOR2< double > VECTOR2D