def METHOD_NAME(yamlFile):
    # pretty print scenario name
    scenarioName=os.path.splitext(os.path.basename(yamlFile))[0]
    print("Testing Scenario " + scenarioName)
    yamlFile=os.path.abspath(yamlFile)
    # parse what configuration we expect to be optimal
    expected=getStringFromFile(yamlFile, '.* [eE]xpect.*({.*})')
    # build and execute command for simulation
    # append tuningArg list (if nothing is set this is empty)
    command=[simulation, "--log-level", logLevel , "--no-end-config" , "--yaml-filename" , yamlFile] + tuningArg
    print(" ".join(command))
    outputFile=os.path.join(outputDir, scenarioName + '.out')
    with open(outputFile, 'w+') as outputLocation:
        subprocess.call(command, stdout=outputLocation, shell=False)
    # scenario might not include expectation
    if expected:
        # parse time of expected config
        expectedTime=int(getStringFromFile(outputFile, expected + ".* Reduced value: ([0-9]+)"))
    else:
        expectedTime=-1
    # parse time of selected config
    selected=getStringFromFile(outputFile, '.* Selected Configuration +({.*})')
    selectedTime=int(getStringFromFile(outputFile, selected + ".* Reduced value: ([0-9]+)"))
    # print result
    if not expected:
        print(RED + "Scenario did not contain expected configuration!" + ENDCOLOR)
        expected="{ }"
    elif expected == selected:
        print(GREEN + "Expected Configuration selected!" + ENDCOLOR)
    elif expectedTime > selectedTime:
        print(YELLOW + "Selected configuration faster than expected! Estimates maybe invalid for this hardware!" + ENDCOLOR)
    elif (expectedTime - selectedTime) < (expectedTime / 100):
        print(YELLOW + "Selected configuration less than 1% slower than expected one!" + ENDCOLOR)
    else:
        print(RED + "Inefficient configuration selected!" + ENDCOLOR)
    print("Selected: " + selected + " : " + str(selectedTime))
    print("Expected: " + expected + " : " + str(expectedTime))
    print()