/*
* Copyright (C) 2009-2011 University of Dundee & Open Microscopy Environment.
* 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.nio.ByteBuffer;
import ome.util.PixelData;
/**
* Integration tests of the PixelData implementation for the bit pixel type.
* @author Chris Allan <callan at blackcat dot ca>
*/
public class PixelDataBitTest
{
private PixelData data;
public void setUp()
{
byte[] byteArray = new byte[] { (byte) 0xFF, (byte) 193 };
data = new PixelData("bit", ByteBuffer.wrap(byteArray));
}
public void testGetBits()
{
assertEquals(1.0, data.getPixelValue(0)); // Start byte 1
assertEquals(1.0, data.getPixelValue(1));
assertEquals(1.0, data.getPixelValue(2));
assertEquals(1.0, data.getPixelValue(3));
assertEquals(1.0, data.getPixelValue(4));
assertEquals(1.0, data.getPixelValue(5));
assertEquals(1.0, data.getPixelValue(6));
assertEquals(1.0, data.getPixelValue(7));
assertEquals(1.0, data.getPixelValue(8)); // Start byte 2
assertEquals(1.0, data.getPixelValue(9));
assertEquals(0.0, data.getPixelValue(10));
assertEquals(0.0, data.getPixelValue(11));
assertEquals(0.0, data.getPixelValue(12));
assertEquals(0.0, data.getPixelValue(13));
assertEquals(0.0, data.getPixelValue(14));
assertEquals(1.0, data.getPixelValue(15));
}
public void testSetAndGetBits()
{
// 0
assertEquals(1.0, data.getPixelValue(0));
data.setPixelValue(0, 0.0);
assertEquals(0.0, data.getPixelValue(0));
// 7
assertEquals(1.0, data.getPixelValue(7));
data.setPixelValue(7, 0.0);
assertEquals(0.0, data.getPixelValue(7));
// 8
assertEquals(1.0, data.getPixelValue(8));
data.setPixelValue(8, 1.0);
assertEquals(1.0, data.getPixelValue(8));
// 14
assertEquals(0.0, data.getPixelValue(14));
data.setPixelValue(14, 1.0);
assertEquals(1.0, data.getPixelValue(14));
}
public void testSize()
{
assertEquals(2, data.size());
}
}