/* * ome.io.nio.utests.OutOfBoundsUnitTest * * Copyright 2006 University of Dundee. All rights reserved. * Use is subject to license terms supplied in LICENSE.txt */ package ome.io.nio.utests; import static org.testng.AssertJUnit.*; import java.io.File; import java.io.IOException; import ome.io.nio.DimensionsOutOfBoundsException; import ome.io.nio.PixelBuffer; import ome.io.nio.PixelsService; import ome.model.core.Pixels; import ome.model.enums.PixelsType; import org.apache.commons.io.FileUtils; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; /** * @author callan * */ public class OutOfBoundsUnitTest { private Pixels pixels; private PixelBuffer pixelBuffer; private static final String ROOT = PathUtil.getInstance().getTemporaryDataFilePath(); @AfterClass public void tearDown() throws IOException { FileUtils.deleteDirectory(new File(ROOT)); } @BeforeMethod public void setUp() { pixels = new Pixels(); pixels.setId(1L); pixels.setSizeX(256); pixels.setSizeY(256); pixels.setSizeZ(64); pixels.setSizeC(3); pixels.setSizeT(50); PixelsType type = new PixelsType(); pixels.setPixelsType(type); // FIXME PixelsService service = new PixelsService(ROOT); pixelBuffer = service.getPixelBuffer(pixels); } @Test public void testYUpperBounds() { try { pixelBuffer.getRowOffset(256, 0, 0, 0); } catch (DimensionsOutOfBoundsException e) { return; } fail("Out of bounds dimension was not caught."); } @Test public void testZUpperBounds() { try { pixelBuffer.getPlaneOffset(64, 0, 0); } catch (DimensionsOutOfBoundsException e) { return; } fail("Out of bounds dimension was not caught."); } @Test public void testCUpperBounds() { try { pixelBuffer.getStackOffset(3, 0); } catch (DimensionsOutOfBoundsException e) { return; } fail("Out of bounds dimension was not caught."); } @Test public void testTUpperBounds() { try { pixelBuffer.getTimepointOffset(50); } catch (DimensionsOutOfBoundsException e) { return; } fail("Out of bounds dimension was not caught."); } @Test public void testYLowerBounds() { try { pixelBuffer.getRowOffset(-1, 0, 0, 0); } catch (DimensionsOutOfBoundsException e) { return; } fail("Out of bounds dimension was not caught."); } @Test public void testZLowerBounds() { try { pixelBuffer.getPlaneOffset(-1, 0, 0); } catch (DimensionsOutOfBoundsException e) { return; } fail("Out of bounds dimension was not caught."); } @Test public void testCLowerBounds() { try { pixelBuffer.getStackOffset(-1, 0); } catch (DimensionsOutOfBoundsException e) { return; } fail("Out of bounds dimension was not caught."); } @Test public void testTLowerBounds() { try { pixelBuffer.getTimepointOffset(-1); } catch (DimensionsOutOfBoundsException e) { return; } fail("Out of bounds dimension was not caught."); } }