Ejemplo n.º 1
0
def test_middleware_given_incomplete_state_emits_set_colorbar():
    store = redux.Store(
        colors.reducer, initial_state={"colorbar": {"low": -1}}
    )
    action = {"kind": "ANY"}
    result = list(colors.palettes(store, action))
    settings = {**colors.defaults(), **{"low": -1}}
    expect = [action, colors.set_colorbar(settings)]
    assert expect == result
def test_storage_middleware_on_load(store):
    label = "label"
    settings = {"key": "value"}
    storage = presets.Storage()
    storage.save(label, settings)
    middleware = presets.Middleware(storage)
    action = presets.on_load(label)
    result = list(middleware(store, action))
    expect = [colors.set_colorbar(settings), action]
    assert expect == result
Ejemplo n.º 3
0
 def __call__(self, store, action):
     kind = action["kind"]
     if kind == PRESET_ON_SAVE:
         label = action["payload"]
         settings = store.state.get("colorbar", {})
         self.storage.save(label, settings)
     elif kind == PRESET_ON_LOAD:
         label = action["payload"]
         yield colors.set_colorbar(self.storage.load(label))
     else:
         # Maintain label consistency between storage and state
         state_labels = Query(store.state).labels
         storage_labels = self.storage.labels()
         if len(set(state_labels) ^ set(storage_labels)) > 0:
             labels = list(set(state_labels) | set(storage_labels))
             yield set_labels(labels)
     yield action
Ejemplo n.º 4
0
def test_middleware_given_empty_state_emits_set_colorbar():
    store = redux.Store(colors.reducer)
    action = {"kind": "ANY"}
    result = list(colors.palettes(store, action))
    expect = [action, colors.set_colorbar(colors.defaults())]
    assert expect == result
Ejemplo n.º 5
0
            {},
            colors.set_palette_name("Accent"),
            {"colorbar": {"name": "Accent"}},
        ),
        ({}, colors.set_palette_number(3), {"colorbar": {"number": 3}}),
        (
            {},
            colors.set_palette_numbers([1, 2, 3]),
            {"colorbar": {"numbers": [1, 2, 3]}},
        ),
        ({}, colors.set_user_high(100), {}),
        ({}, colors.set_user_low(0), {}),
        ({}, colors.set_source_limits(0, 100), {}),
        (
            {},
            colors.set_colorbar({"key": "value"}),
            {"colorbar": {"key": "value"}},
        ),
        (
            {},
            colors.set_palette_names(["example"]),
            {"colorbar": {"names": ["example"]}},
        ),
    ],
)
def test_reducer(state, action, expect):
    result = colors.reducer(state, action)
    assert expect == result


def test_limits_reducer_origin():