Tests that helps to check that all current pattern making systems match pattern
inside XSD scheme. --HG-- branch : develop
This commit is contained in:
parent
a6dedb814a
commit
6ee987947c
|
@ -972,68 +972,19 @@ QStringList AllGroupNames()
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void InitPMSystems(QComboBox *systemCombo)
|
void InitPMSystems(QComboBox *systemCombo)
|
||||||
{
|
{
|
||||||
|
const QStringList listSystems = ListPMSystems();
|
||||||
QMap<QString, QString> systems;
|
QMap<QString, QString> systems;
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p0_S), p0_S);
|
for (int i = 0; i < listSystems.size()-1; ++i)
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p1_S), p1_S);
|
{
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p2_S), p2_S);
|
systems.insert(qApp->TrVars()->PMSystemName(listSystems.at(i)), listSystems.at(i));
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p3_S), p3_S);
|
}
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p4_S), p4_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p5_S), p5_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p6_S), p6_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p7_S), p7_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p8_S), p8_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p9_S), p9_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p10_S), p10_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p11_S), p11_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p12_S), p12_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p13_S), p13_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p14_S), p14_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p15_S), p15_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p16_S), p16_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p17_S), p17_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p18_S), p18_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p19_S), p19_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p20_S), p20_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p21_S), p21_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p22_S), p22_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p23_S), p23_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p24_S), p24_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p25_S), p25_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p26_S), p26_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p27_S), p27_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p28_S), p28_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p29_S), p29_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p30_S), p30_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p31_S), p31_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p32_S), p32_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p33_S), p33_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p34_S), p34_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p35_S), p35_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p36_S), p36_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p37_S), p37_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p38_S), p38_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p39_S), p39_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p40_S), p40_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p41_S), p41_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p42_S), p42_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p43_S), p43_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p44_S), p44_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p45_S), p45_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p46_S), p46_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p47_S), p47_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p48_S), p48_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p49_S), p49_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p50_S), p50_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p51_S), p51_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p52_S), p52_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p53_S), p53_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p54_S), p54_S);
|
|
||||||
|
|
||||||
// * The default option (blank field or 'None') should appear at the top of the list.
|
// * The default option (blank field or 'None') should appear at the top of the list.
|
||||||
// * The list should be sorted alphabetically so users can find their system easily.
|
// * The list should be sorted alphabetically so users can find their system easily.
|
||||||
|
|
||||||
SCASSERT(systemCombo != nullptr);
|
SCASSERT(systemCombo != nullptr);
|
||||||
systemCombo->addItem(qApp->TrVars()->PMSystemName(p998_S), p998_S);
|
systemCombo->addItem(qApp->TrVars()->PMSystemName(listSystems.at(listSystems.size()-1)),
|
||||||
|
listSystems.at(listSystems.size()-1));
|
||||||
|
|
||||||
QMap<QString, QString>::const_iterator i = systems.constBegin();
|
QMap<QString, QString>::const_iterator i = systems.constBegin();
|
||||||
while (i != systems.constEnd())
|
while (i != systems.constEnd())
|
||||||
|
@ -1042,3 +993,67 @@ void InitPMSystems(QComboBox *systemCombo)
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QStringList ListPMSystems()
|
||||||
|
{
|
||||||
|
QStringList list;
|
||||||
|
list << p0_S
|
||||||
|
<< p1_S
|
||||||
|
<< p2_S
|
||||||
|
<< p3_S
|
||||||
|
<< p4_S
|
||||||
|
<< p5_S
|
||||||
|
<< p6_S
|
||||||
|
<< p7_S
|
||||||
|
<< p8_S
|
||||||
|
<< p9_S
|
||||||
|
<< p10_S
|
||||||
|
<< p11_S
|
||||||
|
<< p12_S
|
||||||
|
<< p13_S
|
||||||
|
<< p14_S
|
||||||
|
<< p15_S
|
||||||
|
<< p16_S
|
||||||
|
<< p17_S
|
||||||
|
<< p18_S
|
||||||
|
<< p19_S
|
||||||
|
<< p20_S
|
||||||
|
<< p21_S
|
||||||
|
<< p22_S
|
||||||
|
<< p23_S
|
||||||
|
<< p24_S
|
||||||
|
<< p25_S
|
||||||
|
<< p26_S
|
||||||
|
<< p27_S
|
||||||
|
<< p28_S
|
||||||
|
<< p29_S
|
||||||
|
<< p30_S
|
||||||
|
<< p31_S
|
||||||
|
<< p32_S
|
||||||
|
<< p33_S
|
||||||
|
<< p34_S
|
||||||
|
<< p35_S
|
||||||
|
<< p36_S
|
||||||
|
<< p37_S
|
||||||
|
<< p38_S
|
||||||
|
<< p39_S
|
||||||
|
<< p40_S
|
||||||
|
<< p41_S
|
||||||
|
<< p42_S
|
||||||
|
<< p43_S
|
||||||
|
<< p44_S
|
||||||
|
<< p45_S
|
||||||
|
<< p46_S
|
||||||
|
<< p47_S
|
||||||
|
<< p48_S
|
||||||
|
<< p49_S
|
||||||
|
<< p50_S
|
||||||
|
<< p51_S
|
||||||
|
<< p52_S
|
||||||
|
<< p53_S
|
||||||
|
<< p54_S
|
||||||
|
<< p998_S;
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
|
@ -519,6 +519,7 @@ extern const QString p53_S;
|
||||||
extern const QString p54_S;
|
extern const QString p54_S;
|
||||||
extern const QString p998_S;
|
extern const QString p998_S;
|
||||||
|
|
||||||
|
QStringList ListPMSystems();
|
||||||
void InitPMSystems(QComboBox *systemCombo);
|
void InitPMSystems(QComboBox *systemCombo);
|
||||||
|
|
||||||
// functions
|
// functions
|
||||||
|
|
|
@ -114,3 +114,101 @@ void TST_VMeasurements::CreateEmptyIndividualFile()
|
||||||
QFAIL(e.ErrorMessage().toUtf8().constData());
|
QFAIL(e.ErrorMessage().toUtf8().constData());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* @brief ValidPMCodesStandardFile helps to check that all current pattern making systems match pattern inside XSD
|
||||||
|
* scheme.
|
||||||
|
*/
|
||||||
|
void TST_VMeasurements::ValidPMCodesStandardFile()
|
||||||
|
{
|
||||||
|
Unit mUnit = Unit::Cm;
|
||||||
|
const int height = 176;
|
||||||
|
const int size = 50;
|
||||||
|
|
||||||
|
QSharedPointer<VContainer> data = QSharedPointer<VContainer>(new VContainer(nullptr, &mUnit));
|
||||||
|
data->SetHeight(height);
|
||||||
|
data->SetSize(size);
|
||||||
|
|
||||||
|
QSharedPointer<VMeasurements> m =
|
||||||
|
QSharedPointer<VMeasurements>(new VMeasurements(mUnit, size, height, data.data()));
|
||||||
|
|
||||||
|
const QStringList listSystems = ListPMSystems();
|
||||||
|
for (int i = 0; i < listSystems.size(); ++i)
|
||||||
|
{
|
||||||
|
QString code = listSystems.at(i);
|
||||||
|
code.remove(0, 1); // remove 'p'
|
||||||
|
m->SetPMSystem(code);
|
||||||
|
|
||||||
|
QTemporaryFile file;
|
||||||
|
if (file.open())
|
||||||
|
{
|
||||||
|
QString error;
|
||||||
|
const bool result = m->SaveDocument(file.fileName(), error);
|
||||||
|
|
||||||
|
const QString message = QString("Error: %1 for code=%2").arg(error).arg(listSystems.at(i));
|
||||||
|
QVERIFY2(result, qUtf8Printable(message));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QFAIL("Can't open temporary file.");
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
VDomDocument::ValidateXML(VVSTConverter::CurrentSchema, file.fileName());
|
||||||
|
}
|
||||||
|
catch (VException &e)
|
||||||
|
{
|
||||||
|
const QString message = QString("Error: %1 for code=%2").arg(e.ErrorMessage()).arg(listSystems.at(i));
|
||||||
|
QFAIL(qUtf8Printable(message));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* @brief ValidPMCodesIndividualFile helps to check that all current pattern making systems match pattern inside XSD
|
||||||
|
* scheme.
|
||||||
|
*/
|
||||||
|
void TST_VMeasurements::ValidPMCodesIndividualFile()
|
||||||
|
{
|
||||||
|
Unit mUnit = Unit::Cm;
|
||||||
|
|
||||||
|
QSharedPointer<VContainer> data = QSharedPointer<VContainer>(new VContainer(nullptr, &mUnit));
|
||||||
|
|
||||||
|
QSharedPointer<VMeasurements> m =
|
||||||
|
QSharedPointer<VMeasurements>(new VMeasurements(mUnit, data.data()));
|
||||||
|
|
||||||
|
const QStringList listSystems = ListPMSystems();
|
||||||
|
for (int i = 0; i < listSystems.size(); ++i)
|
||||||
|
{
|
||||||
|
QString code = listSystems.at(i);
|
||||||
|
code.remove(0, 1); // remove 'p'
|
||||||
|
m->SetPMSystem(code);
|
||||||
|
|
||||||
|
QTemporaryFile file;
|
||||||
|
if (file.open())
|
||||||
|
{
|
||||||
|
QString error;
|
||||||
|
const bool result = m->SaveDocument(file.fileName(), error);
|
||||||
|
|
||||||
|
const QString message = QString("Error: %1 for code=%2").arg(error).arg(listSystems.at(i));
|
||||||
|
QVERIFY2(result, qUtf8Printable(message));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QFAIL("Can't open temporary file.");
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
VDomDocument::ValidateXML(VVITConverter::CurrentSchema, file.fileName());
|
||||||
|
}
|
||||||
|
catch (VException &e)
|
||||||
|
{
|
||||||
|
const QString message = QString("Error: %1 for code=%2").arg(e.ErrorMessage()).arg(listSystems.at(i));
|
||||||
|
QFAIL(qUtf8Printable(message));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -41,6 +41,8 @@ private slots:
|
||||||
void CreateEmptyStandardFile();
|
void CreateEmptyStandardFile();
|
||||||
void CreateEmptyIndividualFile();
|
void CreateEmptyIndividualFile();
|
||||||
|
|
||||||
|
void ValidPMCodesStandardFile();
|
||||||
|
void ValidPMCodesIndividualFile();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TST_VMEASUREMENTS_H
|
#endif // TST_VMEASUREMENTS_H
|
||||||
|
|
Loading…
Reference in New Issue
Block a user