From 76f09fd7d4e07db79aef48ee622b039cb62e8130 Mon Sep 17 00:00:00 2001 From: Damiano Date: Mon, 15 Feb 2021 10:48:43 +0100 Subject: [PATCH] Added some tests with strings --- resources/function_help/json/array_majority | 2 +- resources/function_help/json/array_minority | 2 +- tests/src/core/testqgsexpression.cpp | 12 +++++++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/resources/function_help/json/array_majority b/resources/function_help/json/array_majority index b57d3f248002..a16b1777747b 100644 --- a/resources/function_help/json/array_majority +++ b/resources/function_help/json/array_majority @@ -5,7 +5,7 @@ "description": "Returns the most common values in an array.", "arguments": [ {"arg":"array","description":"an array"}, - {"arg":"option='all'", "optional":true, "description":"a string specifying the return values handling. Valid options are:
"} + {"arg":"option='all'", "optional":true, "description":"a string specifying the return values handling. Valid options are:
"} ], "examples": [ { "expression":"array_majority(array(0,1,42,42,43), 'all')", "returns":"[ 42 ]"}, diff --git a/resources/function_help/json/array_minority b/resources/function_help/json/array_minority index 217026977a6e..080c1d53380c 100644 --- a/resources/function_help/json/array_minority +++ b/resources/function_help/json/array_minority @@ -5,7 +5,7 @@ "description": "Returns the less common values in an array.", "arguments": [ {"arg":"array","description":"an array"}, - {"arg":"option='all'", "optional":true, "description":"a string specifying the return values handling. Valid options are:
"} + {"arg":"option='all'", "optional":true, "description":"a string specifying the return values handling. Valid options are:
"} ], "examples": [ { "expression":"array_minority(array(0,42,42), 'all')", "returns":"[ 0 ]"}, diff --git a/tests/src/core/testqgsexpression.cpp b/tests/src/core/testqgsexpression.cpp index 16fc93064392..cdcb088ed384 100644 --- a/tests/src/core/testqgsexpression.cpp +++ b/tests/src/core/testqgsexpression.cpp @@ -1664,10 +1664,13 @@ class TestQgsExpression: public QObject 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( QVariantList() ); - QTest::newRow( "array_majority(array(0,1,42,42,43), 'all')" ) << QStringLiteral( "array_majority(array(0,1,42,42,43), 'all')" ) << false << QVariant( QVariantList() << "42" ); + QTest::newRow( "array_majority(array(0,1,42,42,43), 'all')" ) << QStringLiteral( "array_majority(array(0,1,42,42,43), 'all')" ) << false << QVariant( QVariantList() << 42 ); + QTest::newRow( "array_majority(array(0,1,43,'a','a','b'), 'all')" ) << QStringLiteral( "array_majority(array(0,1,43,'a','a','b'), 'all')" ) << false << QVariant( QVariantList() << "a" ); QTest::newRow( "array_majority(array(0,1,42,42,43,1)" ) << QStringLiteral( "array_sort(array_majority(array(0,1,42,42,43,1)))" ) << false << QVariant( QVariantList() << 1 << 42 ); - QTest::newRow( "array_majority(array(0,1,42,42,43,1), 'first')" ) << QStringLiteral( "array_majority(array(0,1,42,42,43), 'first')" ) << false << QVariant( 42 ); + QTest::newRow( "array_majority(array(0,1,42,42,43), 'first')" ) << QStringLiteral( "array_majority(array(0,1,42,42,43), 'first')" ) << false << QVariant( 42 ); QTest::newRow( "array_majority(array(0,1,1,2,2,42), 'median')" ) << QStringLiteral( "array_majority(array(0,1,1,2,2,42), 'median')" ) << false << QVariant( 1.5 ); + QTest::newRow( "array_majority(array(0,1,1,2,2,42,'a','b'), 'median')" ) << QStringLiteral( "array_majority(array(0,1,1,2,2,42,'a','b'), 'median')" ) << false << QVariant( 1.5 ); + QTest::newRow( "array_majority(array(0,1,2,42,'a','b','a'), 'median')" ) << QStringLiteral( "array_majority(array(0,1,2,42,'a','b','a'), 'median')" ) << false << QVariant(); QTest::newRow( "array_majority(array(0,1,42,42,43), 'real_majority')" ) << QStringLiteral( "array_majority(array(0,1,42,42,43), 'real_majority')" ) << false << QVariant(); QTest::newRow( "array_majority(array(0,1,42,42,43,42), 'real_majority')" ) << QStringLiteral( "array_majority(array(0,1,42,42,43,42), 'real_majority')" ) << false << QVariant(); QTest::newRow( "array_majority(array(0,1,42,42,43,42,42), 'real_majority')" ) << QStringLiteral( "array_majority(array(0,1,42,42,43,42,42), 'real_majority')" ) << false << QVariant( 42 ); @@ -1675,9 +1678,12 @@ class TestQgsExpression: public QObject QTest::newRow( "array_minority(42)" ) << QStringLiteral( "array_minority(42)" ) << true << QVariant(); QTest::newRow( "array_minority(array())" ) << QStringLiteral( "array_minority(array())" ) << false << QVariant( QVariantList() ); QTest::newRow( "array_minority(array(0,42,42), 'all')" ) << QStringLiteral( "array_minority(array(0,42,42), 'all')" ) << false << QVariant( QVariantList() << 0 ); + QTest::newRow( "array_minority(array(42,42,'a'), 'all')" ) << QStringLiteral( "array_minority(array(42,42,'a'), 'all')" ) << false << QVariant( QVariantList() << "a" ); QTest::newRow( "array_minority(array(0,1,42,42))" ) << QStringLiteral( "array_sort(array_minority(array(0,1,42,42)))" ) << false << QVariant( QVariantList() << 0 << 1 ); QTest::newRow( "array_minority(array(0,42,42), 'first')" ) << QStringLiteral( "array_minority(array(0,42,42), 'first')" ) << false << QVariant( 0 ); - QTest::newRow( "array_minority(array(0,1,2,3,3), 'median')" ) << QStringLiteral( "array_minority(array(1,2,3,3), 'median')" ) << false << QVariant( 1.5 ); + QTest::newRow( "array_minority(array(1,2,3,3), 'median')" ) << QStringLiteral( "array_minority(array(1,2,3,3), 'median')" ) << false << QVariant( 1.5 ); + QTest::newRow( "array_minority(array(1,2,3,3,'a'), 'median')" ) << QStringLiteral( "array_minority(array(1,2,3,3,'a'), 'median')" ) << false << QVariant( 1.5 ); + QTest::newRow( "array_minority(array(1,1,3,3,'a'), 'median')" ) << QStringLiteral( "array_minority(array(1,1,3,3,'a'), 'median')" ) << false << QVariant(); QTest::newRow( "array_minority(array(0,1,42,42,43), 'real_minority')" ) << QStringLiteral( "array_sort(array_minority(array(0,1,42,42,43), 'real_minority'))" ) << false << QVariant( QVariantList() << 0 << 1 << 42 << 43 ); QTest::newRow( "array_minority(array(0,1,42,42,43,42), 'real_minority')" ) << QStringLiteral( "array_sort(array_minority(array(0,1,42,42,43,42), 'real_minority'))" ) << false << QVariant( QVariantList() << 0 << 1 << 42 << 43 ); QTest::newRow( "array_minority(array(0,1,42,42,43,42,42), 'real_minority')" ) << QStringLiteral( "array_sort(array_minority(array(0,1,42,42,43,42,42), 'real_minority'))" ) << false << QVariant( QVariantList() << 0 << 1 << 43 );