basic.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. # generate assert test for int
  2. # test == != >= <= < >
  3. # generate 2 cases for each operator
  4. assert -1 == -1
  5. assert -1 != 1
  6. assert -1 >= -1
  7. assert -1 <= -1
  8. assert -1 < 1
  9. assert -1 > -2
  10. # test + - * % ** //
  11. assert -1 + 1 == 0
  12. assert -1 - 1 == -2
  13. assert 4 * -1 == -4
  14. assert 5 % 2 == 1
  15. assert 2 ** 3 == 8
  16. assert 4 // 2 == 2
  17. assert 5 // 2 == 2
  18. # test += -= *= //=
  19. x = 3
  20. x += 1
  21. assert x == 4
  22. x -= 1
  23. assert x == 3
  24. x *= 2
  25. assert x == 6
  26. x //= 2
  27. assert x == 3
  28. # generate assert test for float
  29. def eq(a, b):
  30. dt = a - b
  31. return dt > -0.001 and dt < 0.001
  32. # test + - * / **
  33. assert eq(1.5 + 3, 4.5)
  34. assert eq(1.5 + 3.9, 5.4)
  35. assert eq(5.3 - 2.5, 2.8)
  36. assert eq(0.2**2, 0.04)
  37. assert eq(4**(-1.0), 0.25)
  38. assert eq(2/1, 2)
  39. assert eq(3/2.0, 1.5)
  40. assert eq(1/9, 0.11111)
  41. # test += -= *= /=
  42. x = 3.0
  43. x += 1
  44. assert eq(x, 4.0)
  45. x -= 1
  46. assert eq(x, 3.0)
  47. x *= 2
  48. assert eq(x, 6.0)
  49. x /= 1.8
  50. assert eq(x, 3.3333)
  51. # generate assert test for bool
  52. assert True == True
  53. assert True != False
  54. assert False == False
  55. assert False != True
  56. # test and/or/not
  57. assert True and True
  58. assert not (True and False)
  59. assert True or True
  60. assert True or False
  61. assert not False
  62. assert not (not True)
  63. # generate assert test for str
  64. assert 'testing' == 'test' + 'ing'
  65. assert 'testing' != 'test' + 'ing2'
  66. assert 'testing' < 'test' + 'ing2'
  67. assert 'testing5' > 'test' + 'ing1'
  68. # test + *=
  69. assert 'abc' + 'def' == 'abcdef'
  70. assert 'abc' * 3 == 'abcabcabc'
  71. # generate assert test for list
  72. assert [1, 2, 3] == [1, 2, 3]
  73. assert [1, 2, 3] != [1, 2, 4]
  74. # test + *=
  75. assert [1, 2, 3] + [4, 5, 6] == [1, 2, 3, 4, 5, 6]
  76. assert [1, 2, 3] * 3 == [1, 2, 3, 1, 2, 3, 1, 2, 3]
  77. print("ALL TESTS PASSED")