Skip to content
This repository has been archived by the owner on Sep 20, 2022. It is now read-only.

Commit

Permalink
Added unit tests for DenseMatrixBuilder
Browse files Browse the repository at this point in the history
  • Loading branch information
myui committed Feb 23, 2017
1 parent 0f0517e commit ffee4ef
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions core/src/test/java/hivemall/matrix/MatrixBuilderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,40 @@ public void testReadOnlyDenseMatrix2d() {
Assert.assertEquals(0.d, matrix.get(1, 0), 0.d);
}

@Test
public void testReadOnlyDenseMatrix2dSparseInput() {
Matrix matrix = denseMatrixSparseInput();
Assert.assertEquals(6, matrix.numRows());
Assert.assertEquals(6, matrix.numColumns());
Assert.assertEquals(4, matrix.numColumns(0));
Assert.assertEquals(3, matrix.numColumns(1));
Assert.assertEquals(6, matrix.numColumns(2));
Assert.assertEquals(5, matrix.numColumns(3));
Assert.assertEquals(6, matrix.numColumns(4));
Assert.assertEquals(6, matrix.numColumns(5));

Assert.assertEquals(11d, matrix.get(0, 0), 0.d);
Assert.assertEquals(12d, matrix.get(0, 1), 0.d);
Assert.assertEquals(13d, matrix.get(0, 2), 0.d);
Assert.assertEquals(14d, matrix.get(0, 3), 0.d);
Assert.assertEquals(22d, matrix.get(1, 1), 0.d);
Assert.assertEquals(23d, matrix.get(1, 2), 0.d);
Assert.assertEquals(33d, matrix.get(2, 2), 0.d);
Assert.assertEquals(34d, matrix.get(2, 3), 0.d);
Assert.assertEquals(35d, matrix.get(2, 4), 0.d);
Assert.assertEquals(36d, matrix.get(2, 5), 0.d);
Assert.assertEquals(44d, matrix.get(3, 3), 0.d);
Assert.assertEquals(45d, matrix.get(3, 4), 0.d);
Assert.assertEquals(56d, matrix.get(4, 5), 0.d);
Assert.assertEquals(66d, matrix.get(5, 5), 0.d);

Assert.assertEquals(0.d, matrix.get(5, 4), 0.d);

Assert.assertEquals(0.d, matrix.get(1, 0), 0.d);
Assert.assertEquals(0.d, matrix.get(1, 3), 0.d);
Assert.assertEquals(0.d, matrix.get(1, 0), 0.d);
}

@Test
public void testReadOnlyDenseMatrix2dFromLibSVM() {
Matrix matrix = denseMatrixFromLibSVM();
Expand Down Expand Up @@ -262,6 +296,25 @@ private static Matrix denseMatrix() {
return builder.buildMatrix(true);
}

private static Matrix denseMatrixSparseInput() {
/*
11 12 13 14 0 0
0 22 23 0 0 0
0 0 33 34 35 36
0 0 0 44 45 0
0 0 0 0 0 56
0 0 0 0 0 66
*/
DenseMatrixBuilder builder = new DenseMatrixBuilder(1024);
builder.nextColumn(0, 11).nextColumn(1, 12).nextColumn(2, 13).nextColumn(3, 14).nextRow();
builder.nextColumn(1, 22).nextColumn(2, 23).nextRow();
builder.nextColumn(2, 33).nextColumn(3, 34).nextColumn(4, 35).nextColumn(5, 36).nextRow();
builder.nextColumn(3, 44).nextColumn(4, 45).nextRow();
builder.nextColumn(5, 56).nextRow();
builder.nextColumn(5, 66).nextRow();
return builder.buildMatrix(true);
}

private static Matrix denseMatrixFromLibSVM() {
DenseMatrixBuilder builder = new DenseMatrixBuilder(1024);
builder.nextRow(new String[] {"0:11", "1:12", "2:13", "3:14"});
Expand Down

0 comments on commit ffee4ef

Please sign in to comment.