@@ -373,31 +373,31 @@ void nullIfNotEqual() {
373373 void valueTypeInteger () {
374374 try (final ResultSet rs = database .command ("opencypher" , "RETURN valueType(42) AS val" )) {
375375 assertThat (rs .hasNext ()).isTrue ();
376- assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("INTEGER" );
376+ assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("INTEGER NOT NULL " );
377377 }
378378 }
379379
380380 @ Test
381381 void valueTypeFloat () {
382382 try (final ResultSet rs = database .command ("opencypher" , "RETURN valueType(3.14) AS val" )) {
383383 assertThat (rs .hasNext ()).isTrue ();
384- assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("FLOAT" );
384+ assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("FLOAT NOT NULL " );
385385 }
386386 }
387387
388388 @ Test
389389 void valueTypeString () {
390390 try (final ResultSet rs = database .command ("opencypher" , "RETURN valueType('hello') AS val" )) {
391391 assertThat (rs .hasNext ()).isTrue ();
392- assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("STRING" );
392+ assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("STRING NOT NULL " );
393393 }
394394 }
395395
396396 @ Test
397397 void valueTypeBoolean () {
398398 try (final ResultSet rs = database .command ("opencypher" , "RETURN valueType(true) AS val" )) {
399399 assertThat (rs .hasNext ()).isTrue ();
400- assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("BOOLEAN" );
400+ assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("BOOLEAN NOT NULL " );
401401 }
402402 }
403403
@@ -413,7 +413,20 @@ void valueTypeNull() {
413413 void valueTypeList () {
414414 try (final ResultSet rs = database .command ("opencypher" , "RETURN valueType([1,2,3]) AS val" )) {
415415 assertThat (rs .hasNext ()).isTrue ();
416- assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("LIST<ANY>" );
416+ assertThat (rs .next ().<String >getProperty ("val" )).isEqualTo ("LIST<ANY> NOT NULL" );
417+ }
418+ }
419+
420+ @ Test
421+ void valueTypeNotNullSuffixForAllLiterals () {
422+ // Regression test for https://github.com/ArcadeData/arcadedb/issues/3991
423+ try (final ResultSet rs = database .command ("opencypher" ,
424+ "RETURN valueType('abc') as t1, valueType(1) as t2, valueType(true) as t3" )) {
425+ assertThat (rs .hasNext ()).isTrue ();
426+ final Result row = rs .next ();
427+ assertThat (row .<String >getProperty ("t1" )).isEqualTo ("STRING NOT NULL" );
428+ assertThat (row .<String >getProperty ("t2" )).isEqualTo ("INTEGER NOT NULL" );
429+ assertThat (row .<String >getProperty ("t3" )).isEqualTo ("BOOLEAN NOT NULL" );
417430 }
418431 }
419432
0 commit comments