Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Run("calc.exe")
- WinWaitActive("Calculator", "", 2) ; ("Калькулятор")
- AutoItSetOption("SendKeyDelay", 50)
- TestOperations()
- MsgBox(0, "Test Finished", "Test is finished")
- Exit
- Func TestOperations()
- TestExtraButtons()
- TestPercentage()
- TestAddition()
- TestSubtraction()
- TestMultiplication()
- TestDivision()
- TestRev()
- TestSqrt()
- TestBackspace()
- EndFunc
- Func TestAddition()
- Send("{ESC}{ESC}")
- Send("1023456789")
- Send("{+}")
- Send("9087654321")
- Send("{ENTER}")
- AssertEq(GetResult(), 10111111110, "TestAddition")
- Send("{ESC}{ESC}")
- Send("100,5")
- Send("{+}")
- Send("100,2")
- Send("{ENTER}")
- AssertEq(GetResult(), 200.7, "TestAddition")
- Send("{ESC}{ESC}")
- Send("-100,5")
- Send("{+}")
- Send("100,2")
- Send("{ENTER}")
- AssertEq(GetResult(), -0.3, "TestAddition")
- EndFunc
- Func TestSubtraction()
- Send("{ESC}{ESC}")
- Send("1200")
- Send("{-}")
- Send("200")
- Send("{ENTER}")
- AssertEq(GetResult(), 1000, "TestSubtraction")
- Send("{ESC}{ESC}")
- Send("200")
- Send("{-}")
- Send("1200")
- Send("{ENTER}")
- AssertEq(GetResult(), -1000, "TestSubtraction")
- Send("{ESC}{ESC}")
- Send("200,1")
- Send("{-}")
- Send("1200")
- Send("{ENTER}")
- AssertEq(GetResult(), -999.9, "TestSubtraction")
- EndFunc
- Func TestMultiplication()
- Send("{ESC}{ESC}")
- Send("10")
- Send("{*}")
- Send("20")
- Send("{ENTER}")
- AssertEq(GetResult(), 200, "TestMultiplication")
- Send("{ESC}{ESC}")
- Send("10,2")
- Send("{*}")
- Send("5")
- Send("{ENTER}")
- AssertEq(GetResult(), 51, "TestMultiplication")
- EndFunc
- Func TestDivision()
- Send("{ESC}{ESC}")
- Send("10")
- Send("{/}")
- Send("20")
- Send("{ENTER}")
- AssertEq(GetResult(), 0.5, "TestDivision")
- Send("{ESC}{ESC}")
- Send("100")
- Send("{/}")
- Send("5")
- Send("{ENTER}")
- AssertEq(GetResult(), 20, "TestDivision")
- Send("{ESC}{ESC}")
- Send("0,02")
- Send("{/}")
- Send("2")
- Send("{ENTER}")
- AssertEq(GetResult(), 0.01, "TestDivision")
- EndFunc
- Func TestRev()
- Send("{ESC}{ESC}")
- Send("8")
- Send("{r}")
- AssertEq(GetResult(), 0.125, "TestReverse")
- EndFunc
- Func TestSqrt()
- Send("{ESC}{ESC}")
- Send("64")
- Send("{@}")
- AssertEq(GetResult(), 8, "TestSqrt")
- EndFunc
- Func TestExtraButtons()
- Send("{ESC}{ESC}")
- Send("8")
- Send("{CTRLDOWN}m{CTRLUP}")
- Send("{ESC}{ESC}")
- Send("{CTRLDOWN}r{CTRLUP}")
- AssertEq(GetResult(), 8, "Test MS and MR")
- Send("{ESC}{ESC}")
- Send("{CTRLDOWN}l{CTRLUP}")
- Send("{CTRLDOWN}r{CTRLUP}")
- AssertEq(GetResult(), 0, "Test MC")
- Send("{ESC}{ESC}")
- Send("8")
- Send("{CTRLDOWN}m{CTRLUP}")
- Send("8")
- Send("{CTRLDOWN}p{CTRLUP}")
- Send("{CTRLDOWN}r{CTRLUP}")
- AssertEq(GetResult(), 16, "Test M+")
- EndFunc
- Func TestBackspace()
- Send("82")
- Send("{BACKSPACE}")
- AssertEq(GetResult(), 8, "TestBackspace")
- EndFunc
- Func TestPercentage()
- Send("{ESC}{ESC}")
- Send("100")
- Send("{*}")
- Send("15%")
- AssertEq(GetResult(), 15, "TestPercentageMultiplication")
- Send("{ESC}{ESC}")
- Send("100")
- Send("{+}")
- Send("15%")
- Send("{ENTER}")
- AssertEq(GetResult(), 115, "TestPercentageAddition")
- Send("{ESC}{ESC}")
- Send("100")
- Send("{-}")
- Send("15%")
- Send("{ENTER}")
- AssertEq(GetResult(), 85, "TestPercentageSubtraction")
- EndFunc
- Func GetResult()
- Send("^c")
- $str = StringReplace(ClipGet(), ",", ".")
- return Number($str)
- EndFunc
- Func AssertEq($Result, $Expect, $Message)
- If $Result <> $Expect Then
- MsgBox(0, $Message, "Test failed")
- EndIf
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement