public void testIntersects()
{
// intersects:
{
final Format f1 = new Format("abc");
final Format f2 = new Format("abc");
assertEquals(f1.intersects(f2), f1);
assertEquals(f1.intersects(f2), f2);
assertEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f2);
}
{
final Format f1 = new Format("abc");
final Format f2 = new Format("xyz");
assertEquals(f1.intersects(f2), f2);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f2);
assertEquals(f2.intersects(f1), f1);
}
{
final Format f1 = new Format("abc");
final Format f2 = new Format(null);
assertEquals(f1.intersects(f2), f1);
assertNotEquals(f1.intersects(f2), f2);
assertEquals(f2.intersects(f1), f1);
}
{
final Format f1 = new Format("abc", Format.byteArray);
final Format f2 = new Format(null);
assertEquals(f1.intersects(f2), f1);
assertNotEquals(f1.intersects(f2), f2);
assertEquals(f2.intersects(f1), f1);
}
{
final Format f1 = new Format("abc", Format.byteArray);
final Format f2 = new Format("xyz", Format.shortArray);
assertEquals(f1.intersects(f2), f2);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f2);
assertEquals(f2.intersects(f1), f1);
}
{
final Format f1 = new Format("abc");
final Format f2 = new VideoFormat("abc");
assertEquals(f1.intersects(f2), f2);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f2);
}
{
final Format f1 = new Format("abc");
final Format f2 = new VideoFormat("xyz");
assertEquals(f1.intersects(f2), f2);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f2);
}
{
final Format f1 = new Format("abc");
final Format f2 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.byteArray, 1.f);
assertEquals(f1.intersects(f2), f2);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f2);
}
{
final Format f1 = new Format("abc", Format.intArray);
final Format f2 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.byteArray, 1.f);
assertEquals(f1.intersects(f2), f2);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f2);
}
{
final Format f1 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.byteArray, 1.f);
final Format f2 = new VideoFormat(VideoFormat.MPEG, new Dimension(1, 0), 1000, Format.byteArray, 1.f);
assertEquals(f1.intersects(f2), f1);
assertNotEquals(f1.intersects(f2), f2);
assertNotEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f2);
}
{
final Format f1 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.byteArray, 1.f);
final Format f2 = new VideoFormat(VideoFormat.MPEG, null, 1000, Format.byteArray, 1.f);
assertEquals(f1.intersects(f2), f1);
assertNotEquals(f1.intersects(f2), f2);
assertNotEquals(f2.intersects(f1), f2);
assertEquals(f2.intersects(f1), f1);
}
{
final Format f1 = new Format("abc", Format.intArray);
final Format f2 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.byteArray, 1.f);
assertEquals(f1.intersects(f2), f2);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f2);
}
{
final Format f1 = new Format(null, Format.intArray);
final Format f2 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, null, 1.f);
final Format f3 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.intArray, 1.f);
assertEquals(f1.intersects(f2), f3);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f3);
}
{
final Format f1 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.intArray, 2.f);
final Format f2 = new VideoFormat(VideoFormat.MPEG, new Dimension(1, 0), 1000, Format.intArray, 1.f);
final Format f3 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.intArray, 2.f);
final Format f4 = new VideoFormat(VideoFormat.MPEG, new Dimension(1, 0), 1000, Format.intArray, 1.f);
assertEquals(f1.intersects(f2), f3);
assertNotEquals(f1.intersects(f2), f2);
assertNotEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f4);
}
{
final Format f1 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.intArray, 2.f);
final Format f2 = new RGBFormat(new Dimension(1, 1), 2000, Format.byteArray, 2.f, 1, 2, 3, 4, 5, 6, 7, 8);
final Format f3 = new RGBFormat(new Dimension(0, 0), 1000, Format.byteArray, 2.f, 1, 2, 3, 4, 5, 6, 7, 8);
//System.out.println(f1.intersects(f2));
//System.out.println(f3);
assertEquals(f1.intersects(f2), f3);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f1);
assertEquals(f2.intersects(f1), f2);
}
{
final Format f1 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.intArray, Format.NOT_SPECIFIED);
final Format f2 = new RGBFormat(new Dimension(1, 1), 2000, null, 2.f, 1, 2, 3, 4, 5, 6, 7, 8);
final Format f3 = new RGBFormat(new Dimension(0, 0), 1000, Format.intArray, 2.f, 1, 2, 3, 4, 5, 6, 7, 8);
final Format f4 = new RGBFormat(new Dimension(1, 1), 2000, Format.intArray, 2.f, 1, 2, 3, 4, 5, 6, 7, 8);
// System.out.println(f1.intersects(f2));
// System.out.println(f3);
assertEquals(f1.intersects(f2), f3);
assertNotEquals(f1.intersects(f2), f1);
assertNotEquals(f2.intersects(f1), f1);
// System.out.println(f2.intersects(f1));
// System.out.println(f4);
assertEquals(f2.intersects(f1), f4);
}
{
final Format f1 = new RGBFormat(new Dimension(1, 1), 1000, Format.byteArray, 2.f, 11, 2, 13, 14, 5, 6, 17, 8);
final Format f2 = new RGBFormat(new Dimension(1, 0), 2000, Format.intArray, 3.f, 1, 12, 3, 4, 15, 16, 7, 18);
final Format f3 = new RGBFormat(new Dimension(1, 1), 1000, Format.intArray, 2.f, 11, 2, 13, 14, 5, 6, 17, 8);
final Format f4 = new RGBFormat(new Dimension(1, 0), 2000, Format.byteArray, 3.f, 1, 12, 3, 4, 15, 16, 7, 18);
// System.out.println(f1.intersects(f2));
// System.out.println(f3);
assertEquals(f1.intersects(f2), f3);
assertNotEquals(f1.intersects(f2), f2);
assertNotEquals(f2.intersects(f1), f1);
// System.out.println(f2.intersects(f1));
// System.out.println(f4);
assertEquals(f2.intersects(f1), f4);
}
{
final Format f1 = new RGBFormat(new Dimension(1, 1), 1000, Format.byteArray, 2.f, 11, 2, 13, 14, 5, 6, 17, 8);
final Format f2 = new RGBFormat();
final Format f3 = (Format) f1.clone();
final Format f4 = (Format) f1.clone();
// System.out.println(f1.intersects(f2));
// System.out.println(f3);
// final Format f1_2 = f1.intersects(f2);
assertEquals(f1.intersects(f2), f3);
assertNotEquals(f1.intersects(f2), f2);
assertEquals(f2.intersects(f1), f1);
// final Format f2_1 = f1.intersects(f2);
// System.out.println(f2.intersects(f1));
// System.out.println(f4);
assertEquals(f2.intersects(f1), f4);
}
{
final Format f1 = new RGBFormat(new Dimension(1, 1), 1000, Format.byteArray, 2.f, 11, 2, 13, 14, 5, 6, 17, 8);
final Format f2 = new YUVFormat(new Dimension(1, 1), 2000, Format.byteArray, 2.f, 1, 2, 3, 4, 5, 6);
assertEquals(f1.intersects(f2), null);
assertEquals(f2.intersects(f1), null);
}
}