Author: echatellier Date: 2012-08-10 14:57:11 +0200 (Fri, 10 Aug 2012) New Revision: 430 Url: http://nuiton.org/repositories/revision/nuiton-matrix/430 Log: fixes #2245 : ImportND must paste import content using semantics Added: trunk/nuiton-matrix/src/test/resources/testimportcrlf.csv Modified: trunk/nuiton-matrix/src/main/java/org/nuiton/math/matrix/AbstractMatrixND.java trunk/nuiton-matrix/src/main/java/org/nuiton/math/matrix/MatrixHelper.java trunk/nuiton-matrix/src/test/java/org/nuiton/math/matrix/ImportExportMatrixTest.java Modified: trunk/nuiton-matrix/src/main/java/org/nuiton/math/matrix/AbstractMatrixND.java =================================================================== --- trunk/nuiton-matrix/src/main/java/org/nuiton/math/matrix/AbstractMatrixND.java 2012-08-09 08:34:07 UTC (rev 429) +++ trunk/nuiton-matrix/src/main/java/org/nuiton/math/matrix/AbstractMatrixND.java 2012-08-10 12:57:11 UTC (rev 430) @@ -926,8 +926,8 @@ public MatrixND reduceDims(int... dims) { Arrays.sort(dims); // tableau permettant de faire la correspondance entre les dimensions - // de la matrice actuelle et les dimentsions de la nouvelle matrice - // l'element i du tableau qui correcpond à la dimensions i de la + // de la matrice actuelle et les dimensions de la nouvelle matrice + // l'element i du tableau qui correspond à la dimension i de la // nouvelle matrice contient la dimension equivalente dans // la matrice actuelle int[] correspondance = new int[getDimCount()]; @@ -956,8 +956,8 @@ @Override public MatrixND reduce(int minNbDim) { // tableau permettant de faire la correspondance entre les dimensions - // de la matrice actuelle et les dimentsions de la nouvelle matrice - // l'element i du tableau qui correcpond à la dimensions i de la + // de la matrice actuelle et les dimensions de la nouvelle matrice + // l'element i du tableau qui correspond à la dimension i de la // nouvelle matrice contient la dimension equivalente dans // la matrice actuelle int[] correspondance = new int[getDimCount()]; @@ -1273,10 +1273,10 @@ // read defaut value while ((c = reader.read()) != -1) { - if (c == ',' || c == ' ') { + if (c == ',' || c == ' ' || c == '\r') { // skip } - else if (c == '\n' || c == '\r') { + else if (c == '\n') { break; } else { @@ -1339,7 +1339,7 @@ } while (c != -1); // finally paste loaded matrix into this - paste(matrix); + pasteSemantics(matrix); } /** Modified: trunk/nuiton-matrix/src/main/java/org/nuiton/math/matrix/MatrixHelper.java =================================================================== --- trunk/nuiton-matrix/src/main/java/org/nuiton/math/matrix/MatrixHelper.java 2012-08-09 08:34:07 UTC (rev 429) +++ trunk/nuiton-matrix/src/main/java/org/nuiton/math/matrix/MatrixHelper.java 2012-08-10 12:57:11 UTC (rev 430) @@ -410,8 +410,8 @@ } public static MatrixDimensionIndex valueOf(int i) { - if(i >= 0 && i <= MatrixDimensionIndexCache.high) { - return MatrixDimensionIndexCache.cache[i + 128]; + if (i >= 0 && i <= MatrixDimensionIndexCache.high) { + return MatrixDimensionIndexCache.cache[i]; } else { return new MatrixDimensionIndex(i); Modified: trunk/nuiton-matrix/src/test/java/org/nuiton/math/matrix/ImportExportMatrixTest.java =================================================================== --- trunk/nuiton-matrix/src/test/java/org/nuiton/math/matrix/ImportExportMatrixTest.java 2012-08-09 08:34:07 UTC (rev 429) +++ trunk/nuiton-matrix/src/test/java/org/nuiton/math/matrix/ImportExportMatrixTest.java 2012-08-10 12:57:11 UTC (rev 430) @@ -40,7 +40,6 @@ import org.junit.Test; import org.nuiton.i18n.I18n; import org.nuiton.i18n.init.ClassPathI18nInitializer; -import org.nuiton.util.FileUtil; /** * Test de l'import et export CSV. @@ -387,4 +386,18 @@ m.importCSV(testFile, new int[] {0, 0}); Assert.assertEquals("matrix2dtest2", m.getName()); } + + /** + * Test l'import depuis un {@link File} windows. + * + * @throws IOException + */ + @Test + public void testImportMatrixFromFileCrlf() throws IOException { + MatrixND m = MatrixFactory.getInstance().create(new int[]{1,65,12}); + + File testFile = new File(StringUtils.replace("src/test/resources/testimportcrlf.csv", "/", File.separator)); + m.importCSV(testFile, new int[] {0, 0, 0}); + Assert.assertEquals("testimportcrlf", m.getName()); + } } Added: trunk/nuiton-matrix/src/test/resources/testimportcrlf.csv =================================================================== --- trunk/nuiton-matrix/src/test/resources/testimportcrlf.csv (rev 0) +++ trunk/nuiton-matrix/src/test/resources/testimportcrlf.csv 2012-08-10 12:57:11 UTC (rev 430) @@ -0,0 +1,12 @@ +[1,4,12] +java.lang.String:HakeLargeGuilvinec +java.lang.String:group1, group2, group3, group4 +java.lang.String:0,1,2,3,4,5,6,7,8,9,10,11 +0;0;0;1 +0;1;0;1 +0;2;0;1 +0;3;0;1 +0;0;1;1 +0;1;1;1 +0;2;1;1 +0;3;1;1
participants (1)
-
echatellier@users.nuiton.org