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