@Test
public void basicTest() throws Exception {
final int panels = 3;
Layout l = new HorizontalLayout(panels);
assertEquals(panels, l.getRow1Size());
assertEquals(0, l.getRow2Size());
assertEquals(Layout.LayoutName.HORIZONTAL, l.getLayoutName());
MatrixData matrix = new MatrixData(8, 8);
IFader f = new Switch(matrix, 50);
List<OutputMapping> ioMapping = new ArrayList<OutputMapping>();
//testcase#1: each output has a visual assigned
for (int n=0; n<panels; n++) {
ioMapping.add(new OutputMapping(f, n));
}
LayoutModel lom0 = l.getDataForScreen(0, ioMapping);
assertEquals(0, lom0.getOfsX());
assertEquals(0, lom0.getOfsY());
assertEquals(1, lom0.getSameFxOnX());
assertEquals(1, lom0.getSameFxOnY());
assertEquals(0, lom0.getVisualId());
assertEquals(true, lom0.screenDoesNotNeedStretching());
//testcase#2: output 0 and 2 shot visual 0, output 1 show visual 1
ioMapping.get(0).setVisualId(0);
ioMapping.get(2).setVisualId(0);
ioMapping.get(1).setVisualId(1);
lom0 = l.getDataForScreen(0, ioMapping);
assertEquals(0, lom0.getOfsX());
assertEquals(0, lom0.getOfsY());
assertEquals(2, lom0.getSameFxOnX());
assertEquals(1, lom0.getSameFxOnY());
assertEquals(0, lom0.getVisualId());
assertEquals(false, lom0.screenDoesNotNeedStretching());
LayoutModel lom1 = l.getDataForScreen(1, ioMapping);
assertEquals(0, lom1.getOfsX());
assertEquals(0, lom1.getOfsY());
assertEquals(1, lom1.getSameFxOnX());
assertEquals(1, lom1.getSameFxOnY());
assertEquals(1, lom1.getVisualId());