def test_BandBitEncoder_init():
    '''
  Test single bit encoder constructor
  '''
    encoder = BandBitEncoder(0)
    assert encoder.bandIndex == 0
    encoder = BandBitEncoder(1)
    assert encoder.bandIndex == 1
def test_BandBitEncoder_addSamples1():
    '''
  Test single bit encoder samples adding and conversion
  '''
    encoder = BandBitEncoder(0)
    samples = numpy.ndarray((1, 2), dtype=numpy.float)
    samples[0][1::2].fill(-1.)
    samples[0][0::2].fill(1.)
    converted = encoder.addSamples(samples)
    assert len(converted) == 0
    assert converted.dtype == numpy.uint8
    assert encoder.n_bits == 2
def test_BandBitEncoder_addSamples1():
  '''
  Test single bit encoder samples adding and conversion
  '''
  encoder = BandBitEncoder(0)
  samples = numpy.ndarray((1, 2), dtype=numpy.float)
  samples[0][1::2].fill(-1.)
  samples[0][0::2].fill(1.)
  converted = encoder.addSamples(samples)
  assert len(converted) == 0
  assert converted.dtype == numpy.uint8
  assert encoder.n_bits == 2
def test_BandBitEncoder_addSamples0():
    '''
  Test single bit encoder samples adding and conversion
  '''
    encoder = BandBitEncoder(0)
    samples = numpy.ndarray((1, EncoderBase.BLOCK_SIZE + 6), dtype=numpy.float)
    samples[0][1::2].fill(-1.)
    samples[0][0::2].fill(1.)
    converted = encoder.addSamples(samples)
    assert len(converted) == len(samples[0]) / 8
    assert converted.dtype == numpy.uint8
    assert (converted == 0x55).all()
    converted = encoder.flush()
    assert len(converted) == 1
    assert converted.dtype == numpy.uint8
    assert converted[0] == 0x54
def test_BandBitEncoder_addSamples0():
  '''
  Test single bit encoder samples adding and conversion
  '''
  encoder = BandBitEncoder(0)
  samples = numpy.ndarray((1, EncoderBase.BLOCK_SIZE + 6), dtype=numpy.float)
  samples[0][1::2].fill(-1.)
  samples[0][0::2].fill(1.)
  converted = encoder.addSamples(samples)
  assert len(converted) == len(samples[0]) / 8
  assert converted.dtype == numpy.uint8
  assert (converted == 0x55).all()
  converted = encoder.flush()
  assert len(converted) == 1
  assert converted.dtype == numpy.uint8
  assert converted[0] == 0x54
def test_BandBitEncoder_convertBand():
    '''
  Test single bit encoder band conversion
  '''
    samples = numpy.ndarray(10, dtype=numpy.float)
    samples[1::2].fill(-1.)
    samples[0::2].fill(1.)
    converted = BandBitEncoder.convertBand(samples)
    assert len(converted) == len(samples)
    assert converted.dtype == numpy.bool
    assert (converted[1::2] == 1).all()
    assert (converted[0::2] == 0).all()
def test_BandBitEncoder_convertBand():
  '''
  Test single bit encoder band conversion
  '''
  samples = numpy.ndarray(10, dtype=numpy.float)
  samples[1::2].fill(-1.)
  samples[0::2].fill(1.)
  converted = BandBitEncoder.convertBand(samples)
  assert len(converted) == len(samples)
  assert converted.dtype == numpy.bool
  assert (converted[1::2] == 1).all()
  assert (converted[0::2] == 0).all()