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."
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
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
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]]
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
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)
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)
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_
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, ), ())
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
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
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")