This is an automated email from the ASF dual-hosted git repository.

janardhan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git


The following commit(s) were added to refs/heads/main by this push:
     new 5b0aecb  [MINOR] Fix test for R output cast as numeric(0)
5b0aecb is described below

commit 5b0aecb945815c7da357f9d2d60bab6e160e32db
Author: Janardhan Pulivarthi <[email protected]>
AuthorDate: Tue Dec 14 21:46:53 2021 +0530

    [MINOR] Fix test for R output cast as numeric(0)
---
 .../builtin/setoperations/SetOperationsTestBase.java         | 12 ++++++------
 src/test/scripts/functions/builtin/setdiff.R                 | 11 +++++++++++
 src/test/scripts/functions/builtin/setdiff.dml               | 10 ++++++++++
 3 files changed, 27 insertions(+), 6 deletions(-)

diff --git 
a/src/test/java/org/apache/sysds/test/functions/builtin/setoperations/SetOperationsTestBase.java
 
b/src/test/java/org/apache/sysds/test/functions/builtin/setoperations/SetOperationsTestBase.java
index 7639791..3aedd39 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/builtin/setoperations/SetOperationsTestBase.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/builtin/setoperations/SetOperationsTestBase.java
@@ -119,12 +119,12 @@ public abstract class SetOperationsTestBase extends 
AutomatedTestBase {
         runUnitTest(X, Y, execType);
     }
 
-//    @Test
-//    public void testYSuperSetOfX() {
-//        double[][] X = TestUtils.seq(2, 200, 4);
-//        double[][] Y = TestUtils.seq(2, 200, 2);
-//        runUnitTest(X, Y, execType);
-//    }
+    @Test
+    public void testYSuperSetOfX() {
+        double[][] X = TestUtils.seq(2, 200, 4);
+        double[][] Y = TestUtils.seq(2, 200, 2);
+        runUnitTest(X, Y, execType);
+    }
 
     @Test
     public void testXSuperSetOfY() {
diff --git a/src/test/scripts/functions/builtin/setdiff.R 
b/src/test/scripts/functions/builtin/setdiff.R
index d8111f3..b64feb2 100644
--- a/src/test/scripts/functions/builtin/setdiff.R
+++ b/src/test/scripts/functions/builtin/setdiff.R
@@ -26,4 +26,15 @@ library("Matrix")
 X = as.matrix(readMM(paste(args[1], "X.mtx", sep="")));
 Y = as.matrix(readMM(paste(args[1], "Y.mtx", sep="")));
 R = setdiff(X, Y);
+
+# ** Workaround for numeric(0)
+# 0 will be cast as numeric(0)
+# which is a zero length vector
+# so, we make 0.1 in both dml and
+# R script
+if (length(R) == 0) {
+  R = (0.1)
+}
+# **
+
 writeMM(as(R, "CsparseMatrix"), paste(args[2], "R", sep=""));
\ No newline at end of file
diff --git a/src/test/scripts/functions/builtin/setdiff.dml 
b/src/test/scripts/functions/builtin/setdiff.dml
index 1337e04..9322b5b 100644
--- a/src/test/scripts/functions/builtin/setdiff.dml
+++ b/src/test/scripts/functions/builtin/setdiff.dml
@@ -22,4 +22,14 @@
 A = read($1);
 B = read($2);
 R = setdiff(X = A, Y = B);
+
+# ** Workaround
+# In R script,
+# 0 will be cast as numeric(0)
+# which is a zero length vector
+if((length(R) == 1) & (min(R) == 0)) {
+  R[1] = 0.1
+}
+# **
+
 write(R, $3);
\ No newline at end of file

Reply via email to