def test_check_strike_reference_spot():
    data_input = "spot"
    output = _check_strike_reference(data_input)
    assert output == "ATM"
def test_check_strike_reference_string():
    data_input = "ATM"
    output = _check_strike_reference(data_input)
    assert data_input == output
def test_check_strike_reference_zero():
    data_input = 0
    output = _check_strike_reference(data_input)
    assert output == "ATM"
def test_check_strike_reference_list():
    data_input = ["ATM+20", "ATM-20"]
    output = _check_strike_reference(data_input)
    assert output == data_input
def test_check_strike_reference_invalid_list():
    data_input = ["ATM+20", "MTM-20"]
    with pytest.raises(MqValueError):
        _check_strike_reference(data_input)
def test_check_strike_reference_throws():
    data_input = "DUXA"
    with pytest.raises(MqValueError):
        _check_strike_reference(data_input)
def test_check_strike_reference_numeric():
    data_input = -20
    output = _check_strike_reference(data_input)
    assert output == "ATM-20"
def test_check_strike_reference_numeric_fractional():
    data_input = 12.5
    output = _check_strike_reference(data_input)
    assert output == "ATM+12.5"
def test_check_strike_reference_string_fractional():
    data_input = "ATM-25.5"
    output = _check_strike_reference(data_input)
    assert output == "ATM-25.5"
def test_check_strike_reference_string_negtive():
    data_input = "ATM-25"
    output = _check_strike_reference(data_input)
    assert output == "ATM-25"