Advertisement
Guest User

Untitled

a guest
Nov 25th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 3.48 KB | None | 0 0
  1. Run("calc.exe")
  2. WinWaitActive("Calculator", "", 2) ; ("Калькулятор")
  3. AutoItSetOption("SendKeyDelay", 50)
  4.  
  5. TestOperations()
  6.  
  7. MsgBox(0, "Test Finished", "Test is finished")
  8. Exit
  9.  
  10. Func TestOperations()
  11.   TestExtraButtons()
  12.   TestPercentage()
  13.   TestAddition()
  14.   TestSubtraction()
  15.   TestMultiplication()
  16.   TestDivision()
  17.   TestRev()
  18.   TestSqrt()
  19.   TestBackspace()
  20. EndFunc
  21.  
  22. Func TestAddition()
  23.   Send("{ESC}{ESC}")
  24.   Send("1023456789")
  25.   Send("{+}")
  26.   Send("9087654321")
  27.   Send("{ENTER}")
  28.   AssertEq(GetResult(), 10111111110, "TestAddition")
  29.   Send("{ESC}{ESC}")
  30.   Send("100,5")
  31.   Send("{+}")
  32.   Send("100,2")
  33.   Send("{ENTER}")
  34.   AssertEq(GetResult(), 200.7, "TestAddition")
  35.   Send("{ESC}{ESC}")
  36.   Send("-100,5")
  37.   Send("{+}")
  38.   Send("100,2")
  39.   Send("{ENTER}")
  40.   AssertEq(GetResult(), -0.3, "TestAddition")
  41. EndFunc
  42.  
  43. Func TestSubtraction()
  44.   Send("{ESC}{ESC}")
  45.   Send("1200")
  46.   Send("{-}")
  47.   Send("200")
  48.   Send("{ENTER}")
  49.   AssertEq(GetResult(), 1000, "TestSubtraction")
  50.   Send("{ESC}{ESC}")
  51.   Send("200")
  52.   Send("{-}")
  53.   Send("1200")
  54.   Send("{ENTER}")
  55.   AssertEq(GetResult(), -1000, "TestSubtraction")
  56.   Send("{ESC}{ESC}")
  57.   Send("200,1")
  58.   Send("{-}")
  59.   Send("1200")
  60.   Send("{ENTER}")
  61.   AssertEq(GetResult(), -999.9, "TestSubtraction")
  62. EndFunc
  63.  
  64. Func TestMultiplication()
  65.   Send("{ESC}{ESC}")
  66.   Send("10")
  67.   Send("{*}")
  68.   Send("20")
  69.   Send("{ENTER}")
  70.   AssertEq(GetResult(), 200, "TestMultiplication")
  71.   Send("{ESC}{ESC}")
  72.   Send("10,2")
  73.   Send("{*}")
  74.   Send("5")
  75.   Send("{ENTER}")
  76.   AssertEq(GetResult(), 51, "TestMultiplication")
  77. EndFunc
  78.  
  79. Func TestDivision()
  80.   Send("{ESC}{ESC}")
  81.   Send("10")
  82.   Send("{/}")
  83.   Send("20")
  84.   Send("{ENTER}")
  85.   AssertEq(GetResult(), 0.5, "TestDivision")
  86.   Send("{ESC}{ESC}")
  87.   Send("100")
  88.   Send("{/}")
  89.   Send("5")
  90.   Send("{ENTER}")
  91.   AssertEq(GetResult(), 20, "TestDivision")
  92.   Send("{ESC}{ESC}")
  93.   Send("0,02")
  94.   Send("{/}")
  95.   Send("2")
  96.   Send("{ENTER}")
  97.   AssertEq(GetResult(), 0.01, "TestDivision")
  98. EndFunc
  99.  
  100. Func TestRev()
  101.   Send("{ESC}{ESC}")
  102.   Send("8")
  103.   Send("{r}")
  104.   AssertEq(GetResult(), 0.125, "TestReverse")
  105. EndFunc
  106.  
  107. Func TestSqrt()
  108.   Send("{ESC}{ESC}")
  109.   Send("64")
  110.   Send("{@}")
  111.   AssertEq(GetResult(), 8, "TestSqrt")
  112. EndFunc
  113.  
  114. Func TestExtraButtons()
  115.   Send("{ESC}{ESC}")
  116.   Send("8")
  117.   Send("{CTRLDOWN}m{CTRLUP}")
  118.   Send("{ESC}{ESC}")
  119.   Send("{CTRLDOWN}r{CTRLUP}")
  120.   AssertEq(GetResult(), 8, "Test MS and MR")
  121.   Send("{ESC}{ESC}")
  122.   Send("{CTRLDOWN}l{CTRLUP}")
  123.   Send("{CTRLDOWN}r{CTRLUP}")
  124.   AssertEq(GetResult(), 0, "Test MC")
  125.   Send("{ESC}{ESC}")
  126.   Send("8")
  127.   Send("{CTRLDOWN}m{CTRLUP}")
  128.   Send("8")
  129.   Send("{CTRLDOWN}p{CTRLUP}")
  130.   Send("{CTRLDOWN}r{CTRLUP}")
  131.   AssertEq(GetResult(), 16, "Test M+")
  132. EndFunc
  133.  
  134. Func TestBackspace()
  135.   Send("82")
  136.   Send("{BACKSPACE}")
  137.   AssertEq(GetResult(), 8, "TestBackspace")
  138. EndFunc
  139.  
  140. Func TestPercentage()
  141. Send("{ESC}{ESC}")
  142. Send("100")
  143. Send("{*}")
  144. Send("15%")
  145. AssertEq(GetResult(), 15, "TestPercentageMultiplication")
  146. Send("{ESC}{ESC}")
  147. Send("100")
  148. Send("{+}")
  149. Send("15%")
  150. Send("{ENTER}")
  151. AssertEq(GetResult(), 115, "TestPercentageAddition")
  152. Send("{ESC}{ESC}")
  153. Send("100")
  154. Send("{-}")
  155. Send("15%")
  156. Send("{ENTER}")
  157. AssertEq(GetResult(), 85, "TestPercentageSubtraction")
  158. EndFunc
  159.  
  160.  
  161. Func GetResult()
  162.     Send("^c")
  163.     $str = StringReplace(ClipGet(), ",", ".")
  164.     return Number($str)
  165.  EndFunc
  166.  
  167. Func AssertEq($Result, $Expect, $Message)
  168.   If $Result <> $Expect Then
  169.   MsgBox(0, $Message, "Test failed")
  170.   EndIf
  171. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement