@Test
public void testBinBoundariesNoTails()
{
long pos;
final FloatType tmp = new FloatType();
Real1dBinMapper< FloatType > binMapper;
binMapper = new Real1dBinMapper< FloatType >( 0.0, 4.0, 4, false );
pos = 0;
binMapper.getLowerBound( pos, tmp );
assertEquals( 0, tmp.getRealDouble(), 0 );
assertTrue( binMapper.includesLowerBound( pos ) );
binMapper.getUpperBound( pos, tmp );
assertEquals( 1, tmp.getRealDouble(), 0 );
assertFalse( binMapper.includesUpperBound( pos ) );
pos = 1;
binMapper.getLowerBound( pos, tmp );
assertEquals( 1, tmp.getRealDouble(), 0 );
assertTrue( binMapper.includesLowerBound( pos ) );
binMapper.getUpperBound( pos, tmp );
assertEquals( 2, tmp.getRealDouble(), 0 );
assertFalse( binMapper.includesUpperBound( pos ) );
pos = 2;
binMapper.getLowerBound( pos, tmp );
assertEquals( 2, tmp.getRealDouble(), 0 );
assertTrue( binMapper.includesLowerBound( pos ) );
binMapper.getUpperBound( pos, tmp );
assertEquals( 3, tmp.getRealDouble(), 0 );
assertFalse( binMapper.includesUpperBound( pos ) );
pos = 3;
binMapper.getLowerBound( pos, tmp );
assertEquals( 3, tmp.getRealDouble(), 0 );
assertTrue( binMapper.includesLowerBound( pos ) );
binMapper.getUpperBound( pos, tmp );
assertEquals( 4, tmp.getRealDouble(), 0 );
assertTrue( binMapper.includesUpperBound( pos ) );
tmp.setReal( -0.001 );
assertEquals( Long.MIN_VALUE, binMapper.map( tmp ) );
tmp.setReal( 4.001 );
assertEquals( Long.MAX_VALUE, binMapper.map( tmp ) );
}