Esempio n. 1
0
    def test_load_empty_cache(self, mocker):
        wrapped = MemoryDataSet(-42)
        mocker.spy(wrapped, "load")

        cached_ds = CachedDataSet(wrapped)
        mocker.spy(cached_ds._cache, "load")

        assert cached_ds.load() == -42
        assert wrapped.load.call_count == 1
        assert cached_ds._cache.load.call_count == 0
Esempio n. 2
0
    def test_save_load_caching(self, mocker):
        wrapped = MemoryDataSet(-42)
        mocker.spy(wrapped, "load")
        mocker.spy(wrapped, "save")

        cached_ds = CachedDataSet(wrapped)
        mocker.spy(cached_ds._cache, "save")
        mocker.spy(cached_ds._cache, "load")

        cached_ds.save(42)
        assert cached_ds.load() == 42
        assert wrapped.load.call_count == 0
        assert wrapped.save.call_count == 1
        assert cached_ds._cache.load.call_count == 1
        assert cached_ds._cache.save.call_count == 1
Esempio n. 3
0
 def test_bad_argument(self):
     with pytest.raises(
             ValueError,
             match=r"The argument type of `dataset` "
             r"should be either a dict/YAML representation "
             r"of the dataset, or the actual dataset object",
     ):
         _ = CachedDataSet(dataset="BadArgument")
Esempio n. 4
0
def cached_ds():
    wrapped = MemoryDataSet()
    return CachedDataSet(wrapped)
Esempio n. 5
0
 def test_copy_mode(self, mocker):
     mocked_memory_data_set = mocker.patch(
         "kedro.io.cached_dataset.MemoryDataSet")
     CachedDataSet(MemoryDataSet(), copy_mode="assign")
     mocked_memory_data_set.assert_called_once_with(copy_mode="assign")
Esempio n. 6
0
 def test_str(self):
     assert (str(CachedDataSet(
         MemoryDataSet(42))) == "CachedDataSet(cache={}, "
             "dataset={'data': <int>})")