I\'m beginner, and keep yourself in hands. I have some easy program, and I need do junit test for write method. I have some collection in input. How I can do this? This my
You probably don't need mocks at all. Try using StringWriter in your tests.
// write to file
public void write(String fileName, List figuresList) {
try {
Writer out = new FileWriter(new File(fileName).getAbsoluteFile());
write(out, figuresList);
} catch (IOException e) {
System.out.println("Cannot write to file!");
}
}
@VisibleForTesting void write(Writer writer, List figuresList) {
PrintWriter out = new PrintWriter(writer);
try {
for (int i = 0; i < figuresList.size(); i++) {
out.println(figuresList.get(i).toString());
}
} finally {
out.close();
}
}
@Test public void testWrite() {
List list = Lists.newArrayList();
list.add(...); // A
list.add(...); // B
list.add(...); // C
StringWriter stringWriter = new StringWriter();
write(stringWriter, list);
assertEquals("A.\nB.\nC.\n", stringWriter.toString());
}