#Requires AutoHotkey v2.0 class Assert { static Equal(expected, actual, message := "") { if (expected != actual) { if (message == "") message := "Values are not equal" throw Error( message "`nExpected: " expected "`nActual: " actual ) } } static NotEqual(expected, actual, message := "") { if (expected == actual) { if (message == "") message := "Values should not be equal" throw Error(message) } } static True(value, message := "") { if !value { if (message == "") message := "Expected value to be true" throw Error(message) } } static False(value, message := "") { if value { if (message == "") message := "Expected value to be false" throw Error(message) } } static Throws(callback, message := "") { hasError := false try { callback() } catch { hasError := true } if !hasError { if (message == "") message := "Expected function to throw an error" throw Error(message) } } }