@@ -1641,20 +1641,32 @@ class TestQgsExpression: public QObject
QTest::newRow ( " array_last(array())" ) << QStringLiteral ( " array_last(array())" ) << false << QVariant ();
// array_min, array_max, array_mean, array_median, array_majority, array_sum
QTest::newRow ( " array_min('forty two')" ) << QStringLiteral ( " array_min('forty two')" ) << true << QVariant ();
QTest::newRow ( " array_min(42)" ) << QStringLiteral ( " array_min(42)" ) << true << QVariant ();
QTest::newRow ( " array_min(array())" ) << QStringLiteral ( " array_min(array())" ) << false << QVariant ();
QTest::newRow ( " array_min(array(-1, 0, 1, 2))" ) << QStringLiteral ( " array_min(array(-1, 0, 1, 2))" ) << false << QVariant ( -1 );
QTest::newRow ( " array_min(array(make_date(2020,12,11),make_date(2020,12,12),make_date(2020,12,13)))" ) << QStringLiteral ( " array_min(array(make_date(2020,12,11),make_date(2020,12,12),make_date(2020,12,13)))" ) << false << QVariant ( QDate ( 2020 , 12 , 11 ) );
QTest::newRow ( " array_max('forty two')" ) << QStringLiteral ( " array_max('forty two')" ) << true << QVariant ();
QTest::newRow ( " array_max(42)" ) << QStringLiteral ( " array_max(42)" ) << true << QVariant ();
QTest::newRow ( " array_max(array())" ) << QStringLiteral ( " array_max(array())" ) << false << QVariant ();
QTest::newRow ( " array_max(array(-1, 0, 1, 2))" ) << QStringLiteral ( " array_max(array(-1, 0, 1, 2))" ) << false << QVariant ( 2 );
QTest::newRow ( " array_max(array(make_date(2020,12,11),make_date(2020,12,12),make_date(2020,12,13)))" ) << QStringLiteral ( " array_max(array(make_date(2020,12,11),make_date(2020,12,12),make_date(2020,12,13)))" ) << false << QVariant ( QDate ( 2020 , 12 , 13 ) );
QTest::newRow ( " array_mean('forty two')" ) << QStringLiteral ( " array_mean('forty two')" ) << true << QVariant ();
QTest::newRow ( " array_mean(42)" ) << QStringLiteral ( " array_mean(42)" ) << true << QVariant ();
QTest::newRow ( " array_mean(array())" ) << QStringLiteral ( " array_mean(array())" ) << false << QVariant ();
QTest::newRow ( " array_mean(array(0,1,7,66.6,135.4))" ) << QStringLiteral ( " array_mean(array(0,1,7,66.6,135.4))" ) << false << QVariant ( 42.0 );
QTest::newRow ( " array_mean(array(0,84,'a','b','c'))" ) << QStringLiteral ( " array_mean(array(0,84,'a','b','c'))" ) << false << QVariant ( 42.0 );
QTest::newRow ( " array_median('forty two')" ) << QStringLiteral ( " array_median('forty two')" ) << true << QVariant ();
QTest::newRow ( " array_median(42)" ) << QStringLiteral ( " array_median(42)" ) << true << QVariant ();
QTest::newRow ( " array_median(array())" ) << QStringLiteral ( " array_median(array())" ) << false << QVariant ();
QTest::newRow ( " array_median(array(0,1,42,42,43))" ) << QStringLiteral ( " array_median(array(0,1,42,42,43))" ) << false << QVariant ( 42 );
QTest::newRow ( " array_median(array(0,0,1,2,2,42,'a','b'))" ) << QStringLiteral ( " array_median(array(0,0,1,2,2,42,'a','b'))" ) << false << QVariant ( 1.5 );
QTest::newRow ( " array_majority('forty two')" ) << QStringLiteral ( " array_majority('forty two')" ) << true << QVariant ();
QTest::newRow ( " array_majority(42)" ) << QStringLiteral ( " array_majority(42)" ) << true << QVariant ();
QTest::newRow ( " array_majority(array())" ) << QStringLiteral ( " array_majority(array())" ) << false << QVariant ();
QTest::newRow ( " array_majority(array(1,2,42,42,'a','b'))" ) << QStringLiteral ( " array_majority(array(1,2,42,42,'a','b'))" ) << false << QVariant ( QVariantList () << 42 );
QTest::newRow ( " array_sum('forty two')" ) << QStringLiteral ( " array_sum('forty two')" ) << true << QVariant ();
QTest::newRow ( " array_sum(42)" ) << QStringLiteral ( " array_sum(42)" ) << true << QVariant ();
QTest::newRow ( " array_sum(array())" ) << QStringLiteral ( " array_sum(array())" ) << false << QVariant ();
QTest::newRow ( " array_sum(array('a','b','c'))" ) << QStringLiteral ( " array_sum(array('a','b','c'))" ) << false << QVariant ();
QTest::newRow ( " array_sum(array(0,1,39.4,1.6,'a'))" ) << QStringLiteral ( " array_sum(array(0,1,39.4,1.6,'a'))" ) << false << QVariant ( 42.0 );