@Test public void testMultiplyRandom() { Random r = new Random(); DOK2Dint dok = new DOK2Dint(10 + r.nextInt(10), 10 + r.nextInt(10)); // random matrix for (int l = 0; l < dok.nlines(); l++) { for (int c = 0; c < dok.ncols(); c++) { // 50% chance of random element if (r.nextBoolean()) { dok.set(l, c, r.nextInt()); } } } DOK1Dint vec = new DOK1Dint(dok.ncols()); // random vec for (int l = 0; l < vec.nlines(); l++) { if (r.nextBoolean()) { vec.set(l, r.nextInt()); } } // expected result DOK1Dint expected = dok.multiply(vec); assertEquals(expected, new CSC2Dint(dok).multiply(vec)); }