예제 #1
0
    def test_Reduce_constructor_geoidrange(self):
        config.set_file(f"{DATA_DIR}/test_ReduceR0_trivial.yml")
        test_result = Reduce(global_config = config["trivial_global"],
                                npi_config = config["geoidrange"],
                                geoids = ["10001","2020","40"])
        reduction = test_result.getReduction('gamma')

        assert reduction.shape == (3,1)
        assert (reduction.index.values == ["10001", "2020", "40"]).all()
        assert (reduction.loc[["10001", "2020"]] == 0.5).all(axis=None)
        assert (reduction.loc["40"] == 0).all()
예제 #2
0
    def test_Reduce_constructor_trivial(self):
        config.set_file(f"{DATA_DIR}/test_ReduceR0_trivial.yml")
        global_config = config["trivial_global"]
        test_result = Reduce(global_config = global_config,
                                npi_config = config["trivial"],
                                geoids = ["10001"])
        reduction = test_result.getReduction('gamma')

        assert type(reduction).__module__ == 'pandas.core.frame'
        assert reduction.shape == (1,1)
        assert (reduction.keys() == [global_config["start_date"].as_date()])
        assert (reduction.index.values == ["10001"]).all()
        assert (reduction == 0.5).all(axis=None)
예제 #3
0
    def test_Reduce_constructor_fullrange(self):
        config.set_file(f"{DATA_DIR}/test_ReduceR0_trivial.yml")
        global_config = config["month_global"]
        npi_config = config["fullrange"]
        test_result = Reduce(global_config = global_config,
                                npi_config = npi_config,
                                geoids = ["10001","2020","40"])
        reduction = test_result.getReduction('gamma')

        assert type(reduction).__module__ == 'pandas.core.frame'
        assert reduction.shape == (3,32)
        assert (reduction.keys() == pd.date_range(global_config["start_date"].as_date(),
                                                    global_config["end_date"].as_date())).all()
        assert (reduction.index.values == ["10001","2020","40"]).all()
        assert (reduction.loc[["10001","2020"],pd.date_range(npi_config["period_start_date"].as_date(),
                                                                npi_config["period_end_date"].as_date())] == 0.5).all(axis=None)
예제 #4
0
    def test_Reduce_constructor_daterange(self):
        config.set_file(f"{DATA_DIR}/test_ReduceR0_trivial.yml")
        global_config = config["month_global"]
        npi_config = config["daterange"]
        test_result = Reduce(global_config = global_config,
                                npi_config = npi_config,
                                geoids = ["10001"])
        reduction = test_result.getReduction('gamma')

        global_start_date = global_config["start_date"].as_date()
        global_end_date = global_config["end_date"].as_date()
        period_start_date = npi_config["period_start_date"].as_date()
        period_end_date = npi_config["period_end_date"].as_date()

        assert type(reduction).__module__ == 'pandas.core.frame'
        assert reduction.shape == (1,32)
        assert (reduction.keys() == pd.date_range(global_start_date, global_end_date)).all()
        assert (reduction.index.values == ["10001"])

        # Test values in date ranges
        assert (reduction[pd.date_range(global_start_date, period_start_date, closed="left")] == 0).all(axis=None)
        assert (reduction[pd.date_range(period_start_date, period_end_date)] == 0.5).all(axis=None)
        assert (reduction[pd.date_range(period_end_date, global_end_date, closed="right")] == 0).all(axis=None)
예제 #5
0
 def test_Reduce_bad_end_date(self):
     config.set_file(f"{DATA_DIR}/test_ReduceR0_trivial.yml")
     with pytest.raises(ValueError, match=r'.*not between global dates.*'):
         test_result = Reduce(global_config = config["trivial_global"],
                                 npi_config = config["bad_end_date"],
                                 geoids = ["10001","2020","40"])
예제 #6
0
 def test_Reduce_invalid_parameter(self):
     config.set_file(f"{DATA_DIR}/test_ReduceR0_trivial.yml")
     with pytest.raises(ValueError, match=r'Invalid parameter name.*'):
         test_result = Reduce(global_config = config["trivial_global"],
                                 npi_config = config["invalid_parameter"],
                                 geoids = ["10001","2020","40"])
예제 #7
0
 def test_Reduce_constructor_toobig(self):
     config.set_file(f"{DATA_DIR}/test_ReduceR0_trivial.yml")
     with pytest.raises(ValueError, match=r'.*greater than.*'):
         test_result = Reduce(global_config = config["trivial_global"],
                                 npi_config = config["toobig"],
                                 geoids = ["10001","2020","40"])