HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Users/fred/anaconda3/Lib/site-packages/astropy/utils/tests/test_state.py
# Licensed under a 3-clause BSD style license - see LICENSE.rst

from astropy.utils.state import ScienceState


def test_ScienceState_and_Context():
    """
    Tests a ScienceState and spawned contexts.
    """

    class MyState(ScienceState):
        _value = "A"
        _state = dict(foo="bar")

    state = {"foo": "bar"}

    # test created ScienceState
    assert MyState.get() == "A"
    assert MyState.validate("B") == "B"
    assert MyState._state == state

    # test setting
    with MyState.set("B"):
        assert MyState.get() == "B"
    assert MyState.get() == "A"  # test returning