Initial commit
This commit is contained in:
81
scripting/testsuite/floats.sp
Normal file
81
scripting/testsuite/floats.sp
Normal file
@@ -0,0 +1,81 @@
|
||||
public OnPluginStart()
|
||||
{
|
||||
RegServerCmd("test_floats", TestFloats)
|
||||
}
|
||||
|
||||
check(bool:got, bool:expect, const String:message[]="")
|
||||
{
|
||||
if (got != expect) {
|
||||
ThrowError("Check failed", message)
|
||||
}
|
||||
}
|
||||
|
||||
public Action:TestFloats(args)
|
||||
{
|
||||
new Float:x = 5.3
|
||||
new Float:y = 10.2
|
||||
|
||||
check(x < y, true)
|
||||
check(x <= y, true)
|
||||
check(x > y, false)
|
||||
check(x >= y, false)
|
||||
check(x == y, false)
|
||||
check(x != y, true)
|
||||
|
||||
x = 10.5
|
||||
y = 2.3
|
||||
|
||||
check(x < y, false)
|
||||
check(x <= y, false)
|
||||
check(x > y, true)
|
||||
check(x >= y, true)
|
||||
check(x == y, false)
|
||||
check(x != y, true)
|
||||
|
||||
x = 10.5
|
||||
y = x
|
||||
|
||||
check(x < y, false)
|
||||
check(x <= y, true)
|
||||
check(x > y, false)
|
||||
check(x >= y, true)
|
||||
check(x == y, true)
|
||||
check(x != y, false)
|
||||
|
||||
x = 0.0
|
||||
y = 0.0
|
||||
new Float:nan = x / y
|
||||
|
||||
check(x < nan, false)
|
||||
check(x <= nan, false)
|
||||
check(x > nan, false)
|
||||
check(x >= nan, false)
|
||||
check(x == nan, false)
|
||||
check(x != nan, true)
|
||||
check(nan < y, false)
|
||||
check(nan <= y, false)
|
||||
check(nan > y, false)
|
||||
check(nan >= y, false)
|
||||
check(nan == y, false)
|
||||
check(nan != y, true)
|
||||
check(nan == nan, false)
|
||||
check(nan != nan, true)
|
||||
|
||||
x = 10.5
|
||||
y = 0.0
|
||||
check(!x, false)
|
||||
check(!y, true)
|
||||
check(!nan, true)
|
||||
|
||||
y = -2.7
|
||||
check(-x == -10.5, true)
|
||||
check(-y == 2.7, true)
|
||||
|
||||
new String:buffer[32]
|
||||
Format(buffer, sizeof(buffer), "%f", nan)
|
||||
check(StrEqual(buffer, "NaN"), true)
|
||||
|
||||
PrintToServer("Tests finished.")
|
||||
|
||||
return Plugin_Stop
|
||||
}
|
Reference in New Issue
Block a user