use of org.fagu.fmv.utils.file.FileFinder.InfosFile in project fmv by f-agu.
the class TimeOffsetImageComparatorTestCase method mockImage.
/**
* @param time
* @param device
* @param model
* @param fileName
* @return
*/
private FileFinder<Image>.InfosFile mockImage(long time, String device, String model, String fileName) {
Image image = mock(Image.class);
ImageMetadatas imageMetadatas = mock(ImageMetadatas.class);
File file = mock(File.class);
doReturn(time).when(image).getTime();
doReturn(imageMetadatas).when(image).getMetadatas();
doReturn(new Date(time)).when(imageMetadatas).getDate();
if (device != null) {
doReturn(device).when(imageMetadatas).getDevice();
}
if (model != null) {
doReturn(model).when(imageMetadatas).getDeviceModel();
}
FileFinder<Image>.InfosFile infosFile = mock(InfosFile.class);
doReturn(image).when(infosFile).getMain();
doReturn(file).when(image).getFile();
doReturn(fileName).when(file).getName();
return infosFile;
}
use of org.fagu.fmv.utils.file.FileFinder.InfosFile in project fmv by f-agu.
the class TimeOffsetImageComparatorTestCase method testSome.
/**
*/
@Test
public void testSome() {
TimeOffsetImageComparator comparator = new TimeOffsetImageComparator();
comparator.addFilter(im -> "a".equals(im.getDevice()), 17);
// 18 = 1 + 17
FileFinder<Image>.InfosFile imageA1 = mockImage(1, "a", "a", "A1");
// 21 = 4 + 17
FileFinder<Image>.InfosFile imageA2 = mockImage(4, "a", "a", "A2");
// 12
FileFinder<Image>.InfosFile imageB1 = mockImage(15, "b", "b", "B1");
// 15
FileFinder<Image>.InfosFile imageB2 = mockImage(12, "b", "b", "B2");
// 17
FileFinder<Image>.InfosFile imageB3 = mockImage(17, "b", "b", "B3");
// 19
FileFinder<Image>.InfosFile imageB4 = mockImage(19, "b", "b", "B4");
TreeSet<FileFinder<Image>.InfosFile> images = new TreeSet<>(comparator);
images.add(imageA1);
images.add(imageA2);
images.add(imageB1);
images.add(imageB2);
images.add(imageB3);
images.add(imageB4);
Iterator<FileFinder<Image>.InfosFile> iterator = images.iterator();
assertSame(imageB2, iterator.next());
assertSame(imageB1, iterator.next());
assertSame(imageB3, iterator.next());
assertSame(imageA1, iterator.next());
assertSame(imageB4, iterator.next());
assertSame(imageA2, iterator.next());
assertFalse(iterator.hasNext());
}
Aggregations