Exemplo n.º 1
0
    def _validate_weekends(self, _, weekends: list) -> list:
        if len(self.weekday_names) == 0:
            assert len(weekends) == 0
            return weekends

        for idx in weekends:
            assert 0 <= idx < len(self.weekday_names), "invalid weekend index"
        return utils.integer_sanitization(weekends)
Exemplo n.º 2
0
    def _validate_era_ranges(self, _, era_ranges: list) -> list:
        flat_era_ranges = list(itertools.chain.from_iterable(era_ranges))
        assert flat_era_ranges[0] == "-inf", "first era must be infinite"
        assert flat_era_ranges[-1] == "inf", "last era must be infinite"

        finite_era_ranges = utils.integer_sanitization(flat_era_ranges[1:-1])
        for hr_year in finite_era_ranges:
            assert hr_year >= 0, "human-readable years must be non-negative"
        return era_ranges
Exemplo n.º 3
0
def test_integer_sanitization():
    mixed_type_collection = FAKE.pylist(
        nb_elements=FAKE.random_int(min=1, max=10),
        variable_nb_elements=False,
        value_types=(float,),
    ) + [
        str(integer)
        for integer in FAKE.pylist(
            nb_elements=FAKE.random_int(min=1, max=10),
            variable_nb_elements=False,
            value_types=(int,),
        )
    ]
    for element in integer_sanitization(mixed_type_collection):
        assert isinstance(element, int)
Exemplo n.º 4
0
 def _validate_cycle_ordinals(self, _, cycle_ordinals: list) -> list:
     sanitized_cycle_ordinals = utils.integer_sanitization(cycle_ordinals)
     for cycle_ordinal in sanitized_cycle_ordinals:
         assert cycle_ordinal >= 0, "cycle ordinals must be non-negative"
     return sanitized_cycle_ordinals
Exemplo n.º 5
0
 def _validate_leap_cycles(self, _, leap_year_cycles: list) -> list:
     sanitized_cycles = utils.integer_sanitization(leap_year_cycles)
     for cycle in sanitized_cycles:
         assert cycle >= 1, "leap year cycles must be positive"
     return sanitized_cycles
Exemplo n.º 6
0
 def _validate_days_in_months(self, key, days_in_months: list) -> list:
     assert all([days > 0 for days in days_in_months]), "days must be > 0"
     if days_in_months:  # skip if days_in_months is empty
         assert sum(days_in_months) > 0, f"{key} can not have zero days"
     return utils.integer_sanitization(days_in_months)