Skip to content

Commit

Permalink
split to 2 test functions
Browse files Browse the repository at this point in the history
  • Loading branch information
NEDJIMAbelgacem authored and wonder-sk committed Jan 21, 2021
1 parent 610e836 commit 1661a41
Showing 1 changed file with 27 additions and 23 deletions.
50 changes: 27 additions & 23 deletions tests/src/core/testqgsstyle.cpp
Expand Up @@ -96,8 +96,8 @@ class TestStyle : public QObject
void testSmartGroup();
void testIsStyleXml();
void testVisitor();
void testColorRampShaderClassification();

void testColorRampShaderClassificationEqualInterval();
void testColorRampShaderClassificationContinius();
};


Expand Down Expand Up @@ -1666,7 +1666,7 @@ void TestStyle::testVisitor()
<< QStringLiteral( "exit: annotations Annotations" ) );
}

void TestStyle::testColorRampShaderClassification()
void TestStyle::testColorRampShaderClassificationEqualInterval()
{
// Test Type::Interpolated and ClassificationMode::EqualInterval
{
Expand All @@ -1691,6 +1691,7 @@ void TestStyle::testColorRampShaderClassification()
QVERIFY( itemsList[i].color.alpha() == itemsList2[i].color.alpha() );
}
}

// Test Type::Exact and ClassificationMode::EqualInterval
{
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 255.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), QgsColorRampShader::Type::Exact, QgsColorRampShader::ClassificationMode::EqualInterval ) );
Expand Down Expand Up @@ -1739,15 +1740,18 @@ void TestStyle::testColorRampShaderClassification()
}
}

// Test Type::Interpolated and ClassificationMode::Continuous
// Test when min == max for EqualInterval mode
for ( int i = 0; i < 3; ++i )
{
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 255.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), QgsColorRampShader::Type::Interpolated, QgsColorRampShader::ClassificationMode::Continuous ) );
QgsColorRampShader::Type type = static_cast<QgsColorRampShader::Type>( i );
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 0.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), type, QgsColorRampShader::ClassificationMode::EqualInterval ) );
shader->classifyColorRamp( 5, -1 );

QList<QgsColorRampShader::ColorRampItem> itemsList = shader->colorRampItemList();
QList<QgsColorRampShader::ColorRampItem> itemsList2;
itemsList2.append( QgsColorRampShader::ColorRampItem( 0, QColor( 0, 255, 0 ), "0" ) );
itemsList2.append( QgsColorRampShader::ColorRampItem( 255, QColor( 0, 0, 255 ), "255" ) );
if ( type == QgsColorRampShader::Type::Discrete )
itemsList2.append( QgsColorRampShader::ColorRampItem( qInf(), QColor( 0, 0, 255 ), "inf" ) );

QVERIFY( itemsList.size() == itemsList2.size() );
for ( int i = 0; i < itemsList.size(); ++i )
Expand All @@ -1759,9 +1763,14 @@ void TestStyle::testColorRampShaderClassification()
QVERIFY( itemsList[i].color.alpha() == itemsList2[i].color.alpha() );
}
}
// Test Type::Exact and ClassificationMode::Continuous

}

void TestStyle::testColorRampShaderClassificationContinius()
{
// Test Type::Interpolated and ClassificationMode::Continuous
{
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 255.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), QgsColorRampShader::Type::Exact, QgsColorRampShader::ClassificationMode::Continuous ) );
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 255.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), QgsColorRampShader::Type::Interpolated, QgsColorRampShader::ClassificationMode::Continuous ) );
shader->classifyColorRamp( 5, -1 );

QList<QgsColorRampShader::ColorRampItem> itemsList = shader->colorRampItemList();
Expand All @@ -1780,15 +1789,15 @@ void TestStyle::testColorRampShaderClassification()
}
}

// Test Type::Discrete and ClassificationMode::Continuous
// Test Type::Exact and ClassificationMode::Continuous
{
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 255.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), QgsColorRampShader::Type::Discrete, QgsColorRampShader::ClassificationMode::Continuous ) );
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 255.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), QgsColorRampShader::Type::Exact, QgsColorRampShader::ClassificationMode::Continuous ) );
shader->classifyColorRamp( 5, -1 );

QList<QgsColorRampShader::ColorRampItem> itemsList = shader->colorRampItemList();
QList<QgsColorRampShader::ColorRampItem> itemsList2;
itemsList2.append( QgsColorRampShader::ColorRampItem( 127.5, QColor( 0, 255, 0 ), "128" ) );
itemsList2.append( QgsColorRampShader::ColorRampItem( qInf(), QColor( 0, 0, 255 ), "inf" ) );
itemsList2.append( QgsColorRampShader::ColorRampItem( 0, QColor( 0, 255, 0 ), "0" ) );
itemsList2.append( QgsColorRampShader::ColorRampItem( 255, QColor( 0, 0, 255 ), "255" ) );

QVERIFY( itemsList.size() == itemsList2.size() );
for ( int i = 0; i < itemsList.size(); ++i )
Expand All @@ -1801,18 +1810,15 @@ void TestStyle::testColorRampShaderClassification()
}
}

// Test when min == max for Continuous mode
for ( int i = 0; i < 3; ++i )
// Test Type::Discrete and ClassificationMode::Continuous
{
QgsColorRampShader::Type type = static_cast<QgsColorRampShader::Type>( i );
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 0.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), type, QgsColorRampShader::ClassificationMode::Continuous ) );
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 255.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), QgsColorRampShader::Type::Discrete, QgsColorRampShader::ClassificationMode::Continuous ) );
shader->classifyColorRamp( 5, -1 );

QList<QgsColorRampShader::ColorRampItem> itemsList = shader->colorRampItemList();
QList<QgsColorRampShader::ColorRampItem> itemsList2;
itemsList2.append( QgsColorRampShader::ColorRampItem( 0, QColor( 0, 255, 0 ), "0" ) );
if ( type == QgsColorRampShader::Type::Discrete )
itemsList2.append( QgsColorRampShader::ColorRampItem( qInf(), QColor( 0, 0, 255 ), "inf" ) );
itemsList2.append( QgsColorRampShader::ColorRampItem( 127.5, QColor( 0, 255, 0 ), "128" ) );
itemsList2.append( QgsColorRampShader::ColorRampItem( qInf(), QColor( 0, 0, 255 ), "inf" ) );

QVERIFY( itemsList.size() == itemsList2.size() );
for ( int i = 0; i < itemsList.size(); ++i )
Expand All @@ -1825,11 +1831,11 @@ void TestStyle::testColorRampShaderClassification()
}
}

// Test when min == max for EqualInterval mode
// Test when min == max for Continuous mode
for ( int i = 0; i < 3; ++i )
{
QgsColorRampShader::Type type = static_cast<QgsColorRampShader::Type>( i );
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 0.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), type, QgsColorRampShader::ClassificationMode::EqualInterval ) );
std::unique_ptr<QgsColorRampShader> shader( new QgsColorRampShader( 0.0, 0.0, new QgsGradientColorRamp( Qt::green, Qt::blue ), type, QgsColorRampShader::ClassificationMode::Continuous ) );
shader->classifyColorRamp( 5, -1 );

QList<QgsColorRampShader::ColorRampItem> itemsList = shader->colorRampItemList();
Expand All @@ -1848,9 +1854,7 @@ void TestStyle::testColorRampShaderClassification()
QVERIFY( itemsList[i].color.alpha() == itemsList2[i].color.alpha() );
}
}

}


QGSTEST_MAIN( TestStyle )
#include "testqgsstyle.moc"

0 comments on commit 1661a41

Please sign in to comment.