def METHOD_NAME(mockGUI):
    """Test setting and getting values from the OptionState class."""
    theProject = NWProject()
    theOpts = OptionState(theProject)
    nwColHidden = NovelTreeColumn.HIDDEN
    # Set invalid values
    assert theOpts.setValue("MockGroup", "mockItem", None) is False
    assert theOpts.setValue("GuiProjectSettings", "mockItem", None) is False
    # Set valid value
    assert theOpts.setValue("GuiProjectSettings", "winWidth", 100) is True
    # Set some values of different types
    assert theOpts.setValue("GuiProjectDetails", "winWidth", 100) is True
    assert theOpts.setValue("GuiProjectDetails", "winHeight", 12.34) is True
    assert theOpts.setValue("GuiProjectDetails", "clearDouble", True) is True
    assert theOpts.setValue("GuiNovelView", "lastCol", nwColHidden) is True
    # Generic get, doesn't check type
    assert theOpts.getValue("GuiProjectDetails", "winWidth", None) == 100
    assert theOpts.getValue("GuiProjectDetails", "winHeight", None) == 12.34
    assert theOpts.getValue("GuiProjectDetails", "clearDouble", None) is True
    assert theOpts.getValue("GuiProjectDetails", "mockItem", None) is None
    # Get type-specific
    assert theOpts.getString("GuiProjectDetails", "winWidth", None) is None
    assert theOpts.getString("GuiProjectDetails", "mockItem", None) is None
    assert theOpts.getInt("GuiProjectDetails", "winWidth", None) == 100
    assert theOpts.getInt("GuiProjectDetails", "textFont", None) is None
    assert theOpts.getInt("GuiProjectDetails", "mockItem", None) is None
    assert theOpts.getFloat("GuiProjectDetails", "winWidth", None) == 100.0
    assert theOpts.getFloat("GuiProjectDetails", "mockItem", None) is None
    assert theOpts.getBool("GuiProjectDetails", "clearDouble", None) is True
    assert theOpts.getBool("GuiProjectDetails", "mockItem", None) is None
    assert theOpts.getEnum("GuiNovelView", "lastCol", NovelTreeColumn, None) == nwColHidden
    # Get from non-existent  groups
    assert theOpts.getValue("SomeGroup", "mockItem", None) is None
    assert theOpts.getString("SomeGroup", "mockItem", None) is None
    assert theOpts.getInt("SomeGroup", "mockItem", None) is None
    assert theOpts.getFloat("SomeGroup", "mockItem", None) is None
    assert theOpts.getBool("SomeGroup", "mockItem", None) is None
    assert theOpts.getEnum("SomeGroup", "mockItem", NovelTreeColumn, None) is None