Pregunta

Estoy generando una hoja de cálculo de ODS como salida de un programa Java. Actualmente estoy tratando de configurar casos de prueba para lo mismo. Para esto, necesito comparar las salidas esperadas y reales. Actualmente estoy usando Odftoolkit para crear el documento.

¿Cómo comparo las dos hojas de cálculo (esperadas y reales) en un programa Java?

¿Fue útil?

Solución

En caso de que alguien necesite la solución, aquí está

public static boolean contentsAreIdentical(OdfSpreadsheetDocument document1, OdfSpreadsheetDocument document2) {  
    try {  
        ByteArrayInputStream bis1 = (ByteArrayInputStream) document1.getContentStream();  
        ByteArrayInputStream bis2 = (ByteArrayInputStream) document2.getContentStream();  

        if(bis1.available() != bis2.available()) {  
            return false;  
        }  

        while(true){  
            int a = bis1.read();  
                            int b = bis2.read();  
                            if(a != b){  
                                    return false;  
                            }  
                            if(a == -1){  
                                    return true;  
                            }  
                  }  
    } catch (Exception e) {  
        //Do something with exception  
    }  
    return false;  
}  
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top