コード例 #1
0
    def but_it_raises_an_exception_when_function_is_not_available(self):
        slice_ = _Slice(None, None, None, None, None)

        with pytest.raises(NotImplementedError) as err:
            slice_.evaluate({"function": "F"})

        assert str(err.value) == "Function F is not available."
コード例 #2
0
    def it_knows_the_population_fraction(self, cube_):
        cube_.population_fraction = 0.5
        slice_ = _Slice(cube_, None, None, None, None)

        population_fraction = slice_.population_fraction

        assert population_fraction == 0.5
コード例 #3
0
    def it_knows_whether_it_is_empty(self, shape, expected_value, shape_prop_):
        shape_prop_.return_value = shape
        slice_ = _Slice(None, None, None, None, None)

        is_empty = slice_.is_empty

        assert is_empty is expected_value
コード例 #4
0
    def it_knows_assembled_measures(self, _assembler_prop_, assembler_,
                                    measure_name):
        _assembler_prop_.return_value = assembler_
        setattr(assembler_, measure_name, [[1, 2], [3, 4]])

        results = getattr(_Slice(None, None, None, None, None), measure_name)

        assert results == [[1, 2], [3, 4]]
コード例 #5
0
    def it_knows_its_selected_category_labels(self, _dimensions_prop_,
                                              dimensions_dicts,
                                              expected_value):
        _dimensions_prop_.return_value = [
            Dimension(dim_dict, None, None) for dim_dict in dimensions_dicts
        ]
        slice_ = _Slice(None, None, None, None, None)

        assert slice_.selected_category_labels == expected_value
コード例 #6
0
    def it_provides_the_population_count_moes(self, _assembler_prop_,
                                              assembler_, cube_):
        assembler_.population_std_err = 0.3
        _assembler_prop_.return_value = assembler_
        cube_.population_fraction = 0.1
        population = 20

        slice_ = _Slice(cube_, None, None, population, None)

        assert slice_.population_counts_moe == pytest.approx(0.6 * 1.959964)
コード例 #7
0
    def it_provides_the_population_counts(self, _assembler_prop_, assembler_,
                                          cube_):
        assembler_.population_proportions = 0.3
        _assembler_prop_.return_value = assembler_
        cube_.population_fraction = 0.1
        population = 20

        slice_ = _Slice(cube_, None, None, population, None)

        assert slice_.population_counts == pytest.approx(0.6)
コード例 #8
0
    def it_constructs_its_assembler_instance_to_help(self, request, cube_,
                                                     _dimensions_prop_,
                                                     dimension_, assembler_):
        Assembler_ = class_mock(request,
                                "cr.cube.cubepart.Assembler",
                                return_value=assembler_)
        _dimensions_prop_.return_value = (dimension_, dimension_)
        slice_idx = 42
        slice_ = _Slice(cube_, slice_idx, None, None, None)

        assembler = slice_._assembler

        Assembler_.assert_called_once_with(cube_, (dimension_, dimension_),
                                           slice_idx)
        assert assembler is assembler_
コード例 #9
0
    def it_provides_the_secondary_scale_mean_pairwise_indices(
            self, _alpha_alt_prop_, _only_larger_prop_, PairwiseSignificance_):
        PairwiseSignificance_.scale_mean_pairwise_indices.return_value = (
            (2, ),
            (0, ),
            (),
        )
        _alpha_alt_prop_.return_value = 0.42
        _only_larger_prop_.return_value = True
        slice_ = _Slice(None, None, None, None, None)

        columns_scale_mean_pw_idxs_alt = slice_.columns_scale_mean_pairwise_indices_alt

        PairwiseSignificance_.scale_mean_pairwise_indices.assert_called_once_with(
            slice_, 0.42, True)
        assert columns_scale_mean_pw_idxs_alt == ((2, ), (0, ), ())
コード例 #10
0
    def but_columns_scale_mean_pairwise_indices_alt_is_None_when_no_secondary_alpha_specified(
            self, _alpha_alt_prop_):
        _alpha_alt_prop_.return_value = None
        slice_ = _Slice(None, None, None, None, None)

        assert slice_.columns_scale_mean_pairwise_indices_alt is None
コード例 #11
0
 def but_it_returns_None_when_no_secondary_alpha_specified(
         self, _alpha_alt_prop_, dimension_types_prop_):
     _alpha_alt_prop_.return_value = None
     assert _Slice(None, None, None, None,
                   None).pairwise_indices_alt is None
コード例 #12
0
    def it_provides_the_default_repr_when_enhanced_repr_fails(self):
        cube = _Slice(None, None, None, None, None)

        cube_repr = cube.__repr__()

        assert cube_repr.startswith("<cr.cube.cubepart._Slice object at 0x")