From d8766dd193f441c8c87c8a691aea33a2b7b1ac41 Mon Sep 17 00:00:00 2001 From: Tomas Stupka <tomas.stupka@oracle.com> Date: Thu, 14 Dec 2017 17:27:30 +0100 Subject: [PATCH] added vector subscript tests --- .../truffle/r/test/ExpectedTestOutput.test | 40 +++++++++++++++++++ .../r/test/builtins/TestBuiltin_vector.java | 15 ++++++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test index 68c0f9b81b..9077e09423 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test @@ -77543,6 +77543,46 @@ Error in vector(character()) : invalid 'mode' argument ##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorConstructor# #{ x<-as.vector(3); y<-vector(length=x) } +##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorNASubscript# +#v <- as.integer(c(1, 2)); v[1]<-NA_integer_; v +[1] NA 2 + +##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorNASubscript# +#v <- as.integer(c(1, 2, 3, 4)); dim(v)<-c(2,2); v[1, 1]<-NA_integer_; v + [,1] [,2] +[1,] NA 3 +[2,] 2 4 + +##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorNASubscript# +#v <- c('a', 'b'); v[1]<-NA_character_; v +[1] NA "b" + +##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorNASubscript# +#v <- c('a', 'b', 'c', 'd'); dim(v)<-c(2,2); v[1, 1]<-NA_character_; v + [,1] [,2] +[1,] NA "c" +[2,] "b" "d" + +##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorNASubscript# +#v <- c(1, 2); v[1]<-NA_integer_; v +[1] NA 2 + +##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorNASubscript# +#v <- c(1, 2); v[1]<-NA_real_; v +[1] NA 2 + +##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorNASubscript# +#v <- c(1, 2, 3, 4); dim(v)<-c(2,2); v[1, 1]<-NA_integer_; v + [,1] [,2] +[1,] NA 3 +[2,] 2 4 + +##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorNASubscript# +#v <- c(1, 2, 3, 4); dim(v)<-c(2,2); v[1, 1]<-NA_real_; v + [,1] [,2] +[1,] NA 3 +[2,] 2 4 + ##com.oracle.truffle.r.test.builtins.TestBuiltin_vector.testVectorWithPairlist# #vector('pairlist', 0) NULL diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_vector.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_vector.java index e218f7e8d3..bd5cb7aa15 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_vector.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_vector.java @@ -4,7 +4,7 @@ * http://www.gnu.org/licenses/gpl-2.0.html * * Copyright (c) 2012-2014, Purdue University - * Copyright (c) 2013, 2016, Oracle and/or its affiliates + * Copyright (c) 2013, 2017, Oracle and/or its affiliates * * All rights reserved. */ @@ -77,4 +77,17 @@ public class TestBuiltin_vector extends TestBase { assertEval("vector('pairlist', 0)"); assertEval("vector('pairlist', 3)"); } + + @Test + public void testVectorNASubscript() { + assertEval("v <- as.integer(c(1, 2)); v[1]<-NA_integer_; v"); + assertEval("v <- c(1, 2); v[1]<-NA_real_; v"); + assertEval("v <- c('a', 'b'); v[1]<-NA_character_; v"); + assertEval("v <- c(1, 2); v[1]<-NA_integer_; v"); + + assertEval("v <- as.integer(c(1, 2, 3, 4)); dim(v)<-c(2,2); v[1, 1]<-NA_integer_; v"); + assertEval("v <- c(1, 2, 3, 4); dim(v)<-c(2,2); v[1, 1]<-NA_real_; v"); + assertEval("v <- c('a', 'b', 'c', 'd'); dim(v)<-c(2,2); v[1, 1]<-NA_character_; v"); + assertEval("v <- c(1, 2, 3, 4); dim(v)<-c(2,2); v[1, 1]<-NA_integer_; v"); + } } -- GitLab