Skip to content

Commit efb44ad

Browse files
committedJun 13, 2018
Fix equality test for QgsRasterRange when min/max is nan
1 parent e14862e commit efb44ad

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed
 

‎src/core/raster/qgsrasterrange.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ class CORE_EXPORT QgsRasterRange
7272

7373
inline bool operator==( QgsRasterRange o ) const
7474
{
75-
return qgsDoubleNear( mMin, o.mMin ) && qgsDoubleNear( mMax, o.mMax );
75+
return ( ( std::isnan( mMin ) && std::isnan( o.mMin ) ) || qgsDoubleNear( mMin, o.mMin ) )
76+
&& ( ( std::isnan( mMax ) && std::isnan( o.mMax ) ) || qgsDoubleNear( mMax, o.mMax ) );
7677
}
7778

7879
/**

‎tests/src/python/test_qgsrasterrange.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,16 @@ def testEquality(self):
4444
range = QgsRasterRange()
4545
range2 = QgsRasterRange()
4646
self.assertEqual(range, range2)
47+
range.setMin(1)
48+
self.assertNotEqual(range, range2)
49+
range2.setMin(1)
50+
self.assertEqual(range, range2)
51+
range = QgsRasterRange()
52+
range2 = QgsRasterRange()
53+
range.setMax(5)
54+
self.assertNotEqual(range, range2)
55+
range2.setMax(5)
56+
self.assertEqual(range, range2)
4757

4858

4959
if __name__ == '__main__':

0 commit comments

Comments
 (0)
Please sign in to comment.