@Test
public void testPartialMultiplyMapper() throws Exception {
Vector similarityColumn = new RandomAccessSparseVector(Integer.MAX_VALUE, 100);
similarityColumn.set(3, 0.5);
similarityColumn.set(7, 0.8);
Mapper<VarIntWritable,VectorAndPrefsWritable,VarLongWritable,PrefAndSimilarityColumnWritable>.Context context =
EasyMock.createMock(Mapper.Context.class);
PrefAndSimilarityColumnWritable one = new PrefAndSimilarityColumnWritable();
PrefAndSimilarityColumnWritable two = new PrefAndSimilarityColumnWritable();
one.set(1.0f, similarityColumn);
two.set(3.0f, similarityColumn);
context.write(EasyMock.eq(new VarLongWritable(123L)), EasyMock.eq(one));
context.write(EasyMock.eq(new VarLongWritable(456L)), EasyMock.eq(two));
EasyMock.replay(context);
VectorAndPrefsWritable vectorAndPrefs = new VectorAndPrefsWritable(similarityColumn, Arrays.asList(123L, 456L),
Arrays.asList(1.0f, 3.0f));
new PartialMultiplyMapper().map(new VarIntWritable(1), vectorAndPrefs, context);
EasyMock.verify(context);
}