Esempio n. 1
0
    def test_range_index_type_inferred(self):

        for params in _generate_custom_range_params():
            start, stop, step = params
            for name in test_global_index_names:
                index = pd.RangeIndex(start, stop, step, name=name)
                with self.subTest(index=index):
                    native_index_type = numba.typeof(index)
                    self.assertIsInstance(native_index_type, RangeIndexType)
Esempio n. 2
0
    def test_range_index_attribute_values(self):
        def test_impl(index):
            return index.values

        sdc_func = self.jit(test_impl)

        for params in _generate_custom_range_params():
            index = pd.RangeIndex(*params)
            with self.subTest(index=index):
                result = sdc_func(index)
                result_ref = test_impl(index)
                np.testing.assert_array_equal(result, result_ref)
Esempio n. 3
0
    def test_range_index_len(self):
        def test_impl(*args):
            index = pd.RangeIndex(*args)
            return len(index)

        sdc_func = self.jit(test_impl)

        for params in _generate_custom_range_params():
            start, stop, step = params
            with self.subTest(start=start, stop=stop, step=step):
                result = sdc_func(*params)
                result_ref = test_impl(*params)
                self.assertEqual(result, result_ref)
Esempio n. 4
0
    def test_range_index_unbox_and_box(self):
        def test_impl(index):
            return index

        sdc_func = self.jit(test_impl)

        for params in _generate_custom_range_params():
            start, stop, step = params
            for name in test_global_index_names:
                index = pd.RangeIndex(start, stop, step, name=name)
                with self.subTest(index=index):
                    result = sdc_func(index)
                    result_ref = test_impl(index)
                    pd.testing.assert_index_equal(result, result_ref)
Esempio n. 5
0
    def test_range_index_copy(self):
        def test_impl(index, new_name):
            return index.copy(name=new_name)

        sdc_func = self.jit(test_impl)

        for params in _generate_custom_range_params():
            start, stop, step = params
            for name, new_name in product(test_global_index_names, repeat=2):
                index = pd.RangeIndex(start, stop, step, name=name)
                with self.subTest(index=index, new_name=new_name):
                    result = sdc_func(index, new_name)
                    result_ref = test_impl(index, new_name)
                    pd.testing.assert_index_equal(result, result_ref)
Esempio n. 6
0
    def test_range_index_getitem_scalar(self):
        def test_impl(index, idx):
            return index[idx]

        sdc_func = self.jit(test_impl)

        for params in _generate_custom_range_params():
            index = pd.RangeIndex(*params)
            n = len(index)
            if not n:  # test only non-empty ranges
                continue
            values_to_test = [-n, n // 2, n - 1]
            for idx in values_to_test:
                with self.subTest(index=index, idx=idx):
                    result = sdc_func(index, idx)
                    result_ref = test_impl(index, idx)
                    self.assertEqual(result, result_ref)