• Provides basic functionality to test versions by:

    • adding a new timer, test time, best time, bestVersion, adapt, numRuns and warmup fields,
    • creating basic code to start the adaptation after "numRuns" executions
    • creating basic code to update after a given execution

      must invoke methods "onNewVersion", "ifBetterVersion" and "beforeUpdate" before injecting the adaptation
      must insert the following variables: adapt(), update(), timerStart, timerStop

    Parameters

    • $class: Class
    • targetType: string
    • timeUnit: string = "Millis"
    • numRuns: number = 1
    • warmup: number = 0
    • jumpIfWorse: boolean = false

    Returns {
        $tester: Field;
        bestPos: string;
        bestTime: string;
        bestVersion: string;
        getTime: string;
        hasFinished: string;
        isAdapting: undefined;
        numRuns: string;
        onFinalize: ((code: string) => string);
        onInitialize: ((code: string) => string);
        pause: string;
        setTests: ((versions: string[]) => string);
        start: string;
        stop: string;
        testPos: string;
        testTime: string;
        timerStart: string;
        timerStop: string;
        timerStopAndUpdate: string;
        update: string;
    }

    • $tester: Field
    • bestPos: string
    • bestTime: string
    • bestVersion: string
    • getTime: string
    • hasFinished: string
    • isAdapting: undefined
    • numRuns: string
    • onFinalize: ((code: string) => string)
        • (code): string
        • Parameters

          • code: string

          Returns string

    • onInitialize: ((code: string) => string)
        • (code): string
        • Parameters

          • code: string

          Returns string

    • pause: string
    • setTests: ((versions: string[]) => string)
        • (versions): string
        • Parameters

          • versions: string[]

          Returns string

    • start: string
    • stop: string
    • testPos: string
    • testTime: string
    • timerStart: string
    • timerStop: string
    • timerStopAndUpdate: string
    • update: string