def METHOD_NAME(self) -> None:
    """Test the Tool() function"""
    env = DummyEnvironment()
    env['BUILDERS'] = {}
    env['ENV'] = {}
    env['PLATFORM'] = 'test'
    t = SCons.Tool.Tool('g++')
    t(env)
    assert (env['CXX'] == 'c++' or env['CXX'] == 'g++'), env['CXX']
    assert env['INCPREFIX'] == '-I', env['INCPREFIX']
    assert env['TOOLS'] == ['g++'], env['TOOLS']
    exc_caught = None
    try:
        SCons.Tool.Tool()
    except TypeError:
        exc_caught = 1
    assert exc_caught, "did not catch expected UserError"
    exc_caught = None
    try:
        p = SCons.Tool.Tool('_does_not_exist_')
    except SCons.Errors.UserError as e:
        exc_caught = 1
        # Old msg was Python-style "No tool named", check for new msg:
        assert "No tool module" in str(e), e
    assert exc_caught, "did not catch expected UserError"