Exemplo n.º 1
0
 def it_raises_on_element_order_descriptors_access(self):
     """Error message identifies the non-implementing subclass."""
     with pytest.raises(NotImplementedError) as e:
         _BaseAnchoredCollator(None, None)._element_order_descriptors
     assert str(e.value) == (
         "`_BaseAnchoredCollator` must implement `._element_order_descriptors`"
     )
Exemplo n.º 2
0
    def it_maps_the_element_ids_to_their_position_to_help(
            self, request, element_order_descriptors, expected_value):
        property_mock(
            request,
            _BaseAnchoredCollator,
            "_element_order_descriptors",
            return_value=element_order_descriptors,
        )
        collator = _BaseAnchoredCollator(None, None)

        assert collator._element_positions_by_id == expected_value
Exemplo n.º 3
0
    def it_computes_the_base_element_orderings_to_help(
            self, request, element_order_descriptors, expected_value):
        property_mock(
            request,
            _BaseAnchoredCollator,
            "_element_order_descriptors",
            return_value=element_order_descriptors,
        )
        collator = _BaseAnchoredCollator(None, None)

        assert collator._base_element_orderings == expected_value
Exemplo n.º 4
0
    def it_can_compute_the_insertion_position_for_a_subtotal_to_help(
            self, request, anchor, expected_value):
        property_mock(
            request,
            _BaseAnchoredCollator,
            "_element_positions_by_id",
            return_value={
                1: 0,
                2: 1,
                3: 2
            },
        )
        subtotal_ = instance_mock(request, _Subtotal, anchor=anchor)
        collator = _BaseAnchoredCollator(None, None)

        assert collator._insertion_position(subtotal_) == expected_value
Exemplo n.º 5
0
    def it_computes_the_insertion_orderings_to_help(self, request,
                                                    insertion_positions,
                                                    expected_value):
        subtotals_ = tuple(
            instance_mock(request, _Subtotal) for _ in insertion_positions)
        property_mock(request,
                      _BaseAnchoredCollator,
                      "_subtotals",
                      return_value=subtotals_)
        _insertion_position_ = method_mock(
            request,
            _BaseAnchoredCollator,
            "_insertion_position",
            side_effect=iter(insertion_positions),
        )
        collator = _BaseAnchoredCollator(None, None)

        insertion_orderings = collator._insertion_orderings

        assert _insertion_position_.call_args_list == [
            call(collator, s) for s in subtotals_
        ]
        assert insertion_orderings == expected_value
Exemplo n.º 6
0
    def it_computes_the_display_order_to_help(self, request, base_orderings,
                                              insertion_orderings, hidden_idxs,
                                              expected_value):
        property_mock(
            request,
            _BaseAnchoredCollator,
            "_hidden_idxs",
            return_value=hidden_idxs,
        )
        property_mock(
            request,
            _BaseAnchoredCollator,
            "_insertion_orderings",
            return_value=insertion_orderings,
        )
        property_mock(
            request,
            _BaseAnchoredCollator,
            "_base_element_orderings",
            return_value=base_orderings,
        )

        assert _BaseAnchoredCollator(None,
                                     None)._display_order == expected_value