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

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

commit bbd698ca394ad0a143ac6c54f45a7bd158db60ba
Author: Samuel Kogler <[email protected]>
AuthorDate: Tue Jul 14 12:57:24 2020 +0200

    [MINOR] Check for extra values in test matrix comparison.
    
    In the case of expected matrices with zero values, TestUtils was not
    correctly checking whether the actual test output matrix does have
    values in these places.
    
    Closes #987
---
 src/test/java/org/apache/sysds/test/TestUtils.java | 26 +++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/test/java/org/apache/sysds/test/TestUtils.java 
b/src/test/java/org/apache/sysds/test/TestUtils.java
index 857d2fb..8819f56 100644
--- a/src/test/java/org/apache/sysds/test/TestUtils.java
+++ b/src/test/java/org/apache/sysds/test/TestUtils.java
@@ -217,10 +217,14 @@ public class TestUtils
 
                                readValuesFromFileStreamAndPut(outIn, 
actualValues);
                        }
-                       
+
+                       Set<CellIndex> allKeys = new HashSet<>();
+                       allKeys.addAll(expectedValues.keySet());
+                       if(expectedValues.size() != actualValues.size())
+                               allKeys.addAll(actualValues.keySet());
 
                        int countErrors = 0;
-                       for (CellIndex index : expectedValues.keySet()) {
+                       for (CellIndex index : allKeys) {
                                Double expectedValue = 
expectedValues.get(index);
                                Double actualValue = actualValues.get(index);
                                if (expectedValue == null)
@@ -346,8 +350,12 @@ public class TestUtils
 
                readActualAndExpectedFile(null, expectedFile, actualDir, 
expectedValues, actualValues);
 
+               Set<CellIndex> allKeys = new HashSet<>();
+               allKeys.addAll(expectedValues.keySet());
+               if(expectedValues.size() != actualValues.size())
+                       allKeys.addAll(actualValues.keySet());
                int countErrors = 0;
-               for(CellIndex index : expectedValues.keySet()) {
+               for(CellIndex index : allKeys) {
                        Double expectedValue = (Double) 
expectedValues.get(index);
                        Double actualValue = (Double) actualValues.get(index);
                        if(expectedValue == null)
@@ -383,8 +391,12 @@ public class TestUtils
 
                readActualAndExpectedFile(schema, expectedFile, actualDir, 
expectedValues, actualValues);
 
+               Set<CellIndex> allKeys = new HashSet<>();
+               allKeys.addAll(expectedValues.keySet());
+               if(expectedValues.size() != actualValues.size())
+                       allKeys.addAll(actualValues.keySet());
                int countErrors = 0;
-               for(CellIndex index : expectedValues.keySet()) {
+               for(CellIndex index : allKeys) {
                        Object expectedValue = expectedValues.get(index);
                        Object actualValue = actualValues.get(index);
 
@@ -1107,9 +1119,13 @@ public class TestUtils
                                FSDataInputStream fsout = 
fs.open(file.getPath());
                                readValuesFromFileStream(fsout, actualValues);
                        }
+                       Set<CellIndex> allKeys = new HashSet<>();
+                       allKeys.addAll(expectedValues.keySet());
+                       if(expectedValues.size() != actualValues.size())
+                               allKeys.addAll(actualValues.keySet());
 
                        int countErrors = 0;
-                       for (CellIndex index : expectedValues.keySet()) {
+                       for (CellIndex index : allKeys) {
                                Double expectedValue = 
expectedValues.get(index);
                                Double actualValue = actualValues.get(index);
                                if (expectedValue == null)

Reply via email to