Example #1
0
def test_cache():
    cache_dir = tempfile.mkdtemp()
    ws = GSODWeatherSource('722880', cache_directory=cache_dir)

    assert "GSOD" in ws.cache_filename
    assert ".json" in ws.cache_filename

    assert ws.tempC.shape == (0,)

    assert ws.tempC.shape == (0,)

    ws.add_year(2015)
    assert ws.tempC.shape == (365,)

    ws.add_year(2013)
    assert ws.tempC.shape == (365*3,)

    ws.save_to_cache()

    # new instance, loaded from full cache
    ws = GSODWeatherSource('722880', cache_directory=cache_dir)
    assert ws.tempC.shape == (365*3,)

    ws.clear_cache()

    # new instance, loaded from empty cache
    ws = GSODWeatherSource('722880', cache_directory=cache_dir)

    assert ws.tempC.shape == (0,)

    # cache still empty
    ws.load_from_cache()

    assert ws.tempC.shape == (0,)