def test_bits_to_bucket_num(self): # valid bn = BaseDiscretizer.bits_to_bucket_num('0b0') self.assertEqual(bn, 0) bn = BaseDiscretizer.bits_to_bucket_num('0b10') self.assertEqual(bn, 2) bn = BaseDiscretizer.bits_to_bucket_num('0b0010') self.assertEqual(bn, 2) bn = BaseDiscretizer.bits_to_bucket_num('0b00000000010') self.assertEqual(bn, 2) # not a string self.assertRaises(DiscretizerException, BaseDiscretizer.bits_to_bucket_num, 1101) # empty string self.assertRaises(DiscretizerException, BaseDiscretizer.bits_to_bucket_num, '') # not a string of bits (should begin with '0b') self.assertRaises(DiscretizerException, BaseDiscretizer.bits_to_bucket_num, '11111111') # no bits self.assertRaises(DiscretizerException, BaseDiscretizer.bits_to_bucket_num, '0b') # invalid bits self.assertRaises(ValueError, BaseDiscretizer.bits_to_bucket_num, '0b123')