@Test
public void EnsureFileCheckExists() {
final String DNE
= "Does not exist"; Expectations exp;
try {
exp = new Expectations() {{
one(mn).main(null);
//one(mn).promptStringOrFile(); will(returnValue(true)); //use parameter here
one(mockOut).println("Do you want to process standard (I)nput, or a (F)ile? I/F");
one
(mn
).
grabConfig(); will
(returnValue
(new String[] {"-1",
"1"})); one(mockOut).println("How many results would you like to see? (-1 for all)");
one(mn).readInput(); will(returnValue("-1"));
one(mockBufReader).readLine(); will(returnValue("-1"));
one(mn).readInput(); will(returnValue(DNE));
one(mn).ensureFileExists(DNE); will(returnValue(false));
}};
context.checking(exp);
context.assertIsSatisfied();
e.printStackTrace();
}
//mn.main(null);
}
CUBUZXN0CglwdWJsaWMgdm9pZCBFbnN1cmVGaWxlQ2hlY2tFeGlzdHMoKSB7CgkJZmluYWwgU3RyaW5nIERORSA9ICJEb2VzIG5vdCBleGlzdCI7CgkJZmluYWwgSW5wdXRTdHJlYW0gb2xkSW4gPSBTeXN0ZW0uaW47CgkJZmluYWwgUHJpbnRTdHJlYW0gb2xkT3V0ID0gU3lzdGVtLm91dDsKCQlmaW5hbCBJbnB1dFN0cmVhbSBtb2NrSW4gPSBjb250ZXh0Lm1vY2soSW5wdXRTdHJlYW0uY2xhc3MpOwoJCWZpbmFsIFByaW50U3RyZWFtIG1vY2tPdXQgPSBjb250ZXh0Lm1vY2soUHJpbnRTdHJlYW0uY2xhc3MpOwoJCWZpbmFsIElucHV0U3RyZWFtUmVhZGVyIG1vY2tSZWFkZXIgPSBjb250ZXh0Lm1vY2soSW5wdXRTdHJlYW1SZWFkZXIuY2xhc3MpOwoJCWZpbmFsIEJ1ZmZlcmVkUmVhZGVyIG1vY2tCdWZSZWFkZXIgPSBjb250ZXh0Lm1vY2soQnVmZmVyZWRSZWFkZXIuY2xhc3MpOwoJCVN5c3RlbS5zZXRPdXQobW9ja091dCk7CgkJU3lzdGVtLnNldEluKG1vY2tJbik7CgkJRXhwZWN0YXRpb25zIGV4cDsKCQl0cnkgewoJCQlleHAgPSBuZXcgRXhwZWN0YXRpb25zKCkge3sKCQkJCW9uZShtbikubWFpbihudWxsKTsKCQkJCS8vb25lKG1uKS5wcm9tcHRTdHJpbmdPckZpbGUoKTsgd2lsbChyZXR1cm5WYWx1ZSh0cnVlKSk7IC8vdXNlIHBhcmFtZXRlciBoZXJlCgkJCQlvbmUobW9ja091dCkucHJpbnRsbigiRG8geW91IHdhbnQgdG8gcHJvY2VzcyBzdGFuZGFyZCAoSSlucHV0LCBvciBhIChGKWlsZT8gSS9GIik7CgkJCQlvbmUobW4pLmdyYWJDb25maWcoKTsgd2lsbChyZXR1cm5WYWx1ZShuZXcgU3RyaW5nW10geyItMSIsICIxIn0pKTsKCQkJCW9uZShtb2NrT3V0KS5wcmludGxuKCJIb3cgbWFueSByZXN1bHRzIHdvdWxkIHlvdSBsaWtlIHRvIHNlZT8gKC0xIGZvciBhbGwpIik7CgkJCQlvbmUobW4pLnJlYWRJbnB1dCgpOyB3aWxsKHJldHVyblZhbHVlKCItMSIpKTsKCQkJCW9uZShtb2NrQnVmUmVhZGVyKS5yZWFkTGluZSgpOyB3aWxsKHJldHVyblZhbHVlKCItMSIpKTsKCQkJCW9uZShtbikucmVhZElucHV0KCk7IHdpbGwocmV0dXJuVmFsdWUoRE5FKSk7CgkJCQlvbmUobW4pLmVuc3VyZUZpbGVFeGlzdHMoRE5FKTsgd2lsbChyZXR1cm5WYWx1ZShmYWxzZSkpOwoJCQl9fTsKCQkJY29udGV4dC5jaGVja2luZyhleHApOwoJCQljb250ZXh0LmFzc2VydElzU2F0aXNmaWVkKCk7CgkJfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgewoJCQllLnByaW50U3RhY2tUcmFjZSgpOwoJCX0KCQkvL21uLm1haW4obnVsbCk7Cgl9