Search in sources :

Example 1 with InfosFile

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;
}
Also used : ImageMetadatas(org.fagu.fmv.im.ImageMetadatas) FileFinder(org.fagu.fmv.utils.file.FileFinder) Image(org.fagu.fmv.im.Image) File(java.io.File) InfosFile(org.fagu.fmv.utils.file.FileFinder.InfosFile) Date(java.util.Date)

Example 2 with 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());
}
Also used : InfosFile(org.fagu.fmv.utils.file.FileFinder.InfosFile) TreeSet(java.util.TreeSet) TimeOffsetImageComparator(org.fagu.fmv.mymedia.classify.image.TimeOffsetImageComparator) FileFinder(org.fagu.fmv.utils.file.FileFinder) Image(org.fagu.fmv.im.Image) Test(org.junit.Test)

Aggregations

Image (org.fagu.fmv.im.Image)2 FileFinder (org.fagu.fmv.utils.file.FileFinder)2 InfosFile (org.fagu.fmv.utils.file.FileFinder.InfosFile)2 File (java.io.File)1 Date (java.util.Date)1 TreeSet (java.util.TreeSet)1 ImageMetadatas (org.fagu.fmv.im.ImageMetadatas)1 TimeOffsetImageComparator (org.fagu.fmv.mymedia.classify.image.TimeOffsetImageComparator)1 Test (org.junit.Test)1