예제 #1
0
 def test_reducer_given_set_value_action_adds_key_value(self):
     action = db.set_value("name", "value")
     state = {"previous": "constant"}
     result = db.reducer(state, action)
     expect = {
         "previous": "constant",
         "name": "value"
     }
     self.assertEqual(expect, result)
예제 #2
0
def test_reducer_immutable_state():
    state = {"pressure": 1000}
    next_state = db.reducer(state, db.set_value("pressure", 950))
    assert state["pressure"] == 1000
    assert next_state["pressure"] == 950
예제 #3
0
def test_reducer_immutable_state():
    """Ensure copy.deepcopy is used to create a new state"""
    previous_state = {"key": ["value"]}
    next_state = db.reducer(previous_state, {"kind": "ANY"})
    previous_state["key"].append("extra")
    assert next_state["key"] == ["value"]