Exemplo n.º 1
0
 def test_number_counter_stats(self):
     """stats from NumberCounter correct"""
     data = [0, 0, 2, 4, 4, 4]
     nums = number.NumberCounter(data)
     self.assertEqual(nums.mean, numpy.mean(data))
     self.assertEqual(nums.std, numpy.std(data, ddof=1))
     self.assertEqual(nums.median, numpy.median(data))
     self.assertEqual(nums.quantile(q=0.75), numpy.quantile(data, q=0.75))
     self.assertEqual(nums.mode, 4)
     self.assertEqual(len(nums), 6)
Exemplo n.º 2
0
    def test_copy(self):
        """copy works"""
        nums = number.CategoryCounter("AAAACCCGGGGT")
        new = nums.copy()
        self.assertNotEqual(id(new), id(nums))
        self.assertEqual(new.to_dict(), nums.to_dict())

        nums = number.NumberCounter(data=[0, 0, 2, 4, 4, 4])
        new = nums.copy()
        self.assertNotEqual(id(new), id(nums))
        self.assertEqual(new.to_dict(), nums.to_dict())
Exemplo n.º 3
0
    def test_numbers_update(self):
        """correctly update number counts"""
        data = [0, 0, 2, 4, 4, 4]
        nums = number.NumberCounter(data)
        data = [2, 4, 4, 4, 6, 5]
        nums2 = number.NumberCounter(data)
        nums.update_from_counts(nums2)
        self.assertEqual(nums[2], 2)
        self.assertEqual(nums[4], 6)
        self.assertEqual(nums[1], 0)

        data = [0, 0, 2, 4, 4, 4]
        nums = number.NumberCounter(data)
        nums.update_from_series([2, 4, 4, 4, 6, 5])
        self.assertEqual(nums[2], 2)
        self.assertEqual(nums[4], 6)
        self.assertEqual(nums[1], 0)

        with self.assertRaises(TypeError):
            counts = number.CategoryCounter("AAAACCCGGGGT")
            nums.update_from_counts(counts)
Exemplo n.º 4
0
 def test_repr(self):
     """should precede with class name"""
     data = [0, 0, 2, 4, 4, 4]
     nums = number.CategoryCounter(data)
     got = repr(nums)
     self.assertTrue(got.startswith(nums.__class__.__name__))
     freqs = nums.to_freqs()
     got = repr(freqs)
     self.assertTrue(got.startswith(freqs.__class__.__name__))
     nums = number.NumberCounter(data)
     got = repr(nums)
     self.assertTrue(got.startswith(nums.__class__.__name__))
Exemplo n.º 5
0
 def test_valid(self):
     """correctly identify when numbers contains numbers"""
     wrong = number.NumberCounter([0, "a", 1, 1])
     self.assertFalse(wrong.valid)
     ints = number.NumberCounter([0, 1, 1])
     self.assertTrue(ints.valid)
     floats = number.NumberCounter([0.1, 1.0, 1.0])
     self.assertTrue(floats.valid)
     cmplx = number.NumberCounter([1j, 0.2j])
     self.assertTrue(cmplx.valid)
     mixed = number.NumberCounter([0.1, 1, 1.1j])
     self.assertTrue(mixed.valid)
     for dtype in (numpy.uint8, numpy.int32, numpy.float64):
         data = numpy.arange(0, 4)
         npy = number.NumberCounter(data.astype(dtype))
         self.assertTrue(npy.valid)