ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

184 lines
5.5 KiB

  1. REM ------------------------------------------------------------
  2. REM PURPOSE: TEST THE PARAMETER RANGE CHECKS
  3. REM AUTHOR: HOWARD WULF, AF5NE
  4. REM GENERATED: 02/21/2015 14:08:20
  5. REM FILENAME: F_CVS_A_N.BAS
  6. REM SYNTAX: N = CVS( A$ )
  7. REM UNIQUEID: F_CVS_A_N
  8. REM FUNCTION: CVS
  9. REM
  10. REM VARIABLE DESCRIPTION
  11. REM I CURRENT TESTCASE NUMBER
  12. REM E EXPECTED ERROR FLAG
  13. REM F ACTUAL ERROR FLAG
  14. REM R EXPECTED FUNCTION RESULT
  15. REM N ACTUAL FUNCTION RESULT
  16. REM A$ ACTUAL FUNCTION PARAMETER
  17. REM
  18. RESTORE 2000
  19. REM GET TESTCASE #
  20. READ I
  21. WHILE I > 0
  22. REM GET TESTCASE DATA
  23. READ E, R, A$
  24. REM DISPLAY TESTCASE DATA
  25. PRINT "TESTCASE #";I,"E=";E,"R=";R, "A$=[";A$;"]"
  26. REM EXECUTE TESTCASE
  27. N = 0
  28. S$ = ""
  29. ON ERROR GOTO 9000
  30. F = 0
  31. 999 N = CVS( A$ )
  32. ERROR 0
  33. REM DISPLAY TESTCASE RESULTS
  34. PRINT ,"F=";F,"N=";N
  35. REM VERIFY EXPECTED ERROR
  36. IF E <> F THEN
  37. PRINT "*** TEST FAILED, EXCEPTION MISMATCH ***"
  38. STOP
  39. END IF
  40. REM VERIFY EXPECTED RESULT
  41. IF R > 0 THEN
  42. LET RMIN = 0.99 * R
  43. IF R > MAXNUM / 1.012 THEN
  44. LET RMAX = MAXNUM
  45. ELSE
  46. LET RMAX = 1.01 * R
  47. END IF
  48. END IF
  49. IF R < 0 THEN
  50. IF R < - MAXNUM / 1.012 THEN
  51. LET RMIN = -MAXNUM
  52. ELSE
  53. LET RMIN = 1.01 * R
  54. END IF
  55. LET RMAX = 0.99 * R
  56. END IF
  57. IF R = 0 THEN
  58. LET RMIN = -.01
  59. LET RMAX = +.01
  60. END IF
  61. IF N < RMIN THEN
  62. PRINT "*** TEST FAILED, RESULT MISMATCH ***"
  63. STOP
  64. END IF
  65. IF N > RMAX THEN
  66. PRINT "*** TEST FAILED, RESULT MISMATCH ***"
  67. STOP
  68. END IF
  69. PRINT "*** TEST PASSED ***"
  70. REM GET NEXT TESTCASE #
  71. READ I
  72. WEND
  73. PRINT "*** ALL TESTS PASSED ***"
  74. GOTO 9999
  75. 1999 REM TESTCASE, EXPECTED ERROR, EXPECTED RESULT, PARAMETERS...
  76. DATA 1 , 1 , 0 , ""
  77. DATA 2 , 1 , 0 , " "
  78. DATA 3 , 1 , 0 , "3"
  79. DATA 4 , 1 , 0 , "z"
  80. DATA 5 , 1 , 0 , " "
  81. DATA 6 , 1 , 0 , " 3"
  82. DATA 7 , 1 , 0 , " z"
  83. DATA 8 , 1 , 0 , "3 "
  84. DATA 9 , 1 , 0 , "z "
  85. DATA 10 , 1 , 0 , " 3 "
  86. DATA 11 , 1 , 0 , " z "
  87. DATA 12 , 0 , 5.35553E+7 , " LLLL"
  88. DATA 13 , 0 , 1.35632E-19 , " '' "
  89. DATA 14 , 0 , 4.95564E+28 , " oo "
  90. DATA 15 , 0 , 1.49237E-19 , " 00 "
  91. DATA 16 , 0 , 1.80285E+17 , " \\\\ "
  92. DATA 17 , 0 , 1.14327E+27 , " lllll "
  93. DATA 18 , 0 , 1.35632E-19 , " uuuu "
  94. DATA 19 , 0 , 1.90689E-19 , " a "
  95. DATA 20 , 0 , 1.35632E-19 , " "
  96. DATA 21 , 0 , 1.96856E-19 , " hh "
  97. DATA 22 , 0 , 1.96618E-19 , " h "
  98. DATA 23 , 1 , 0 , " )"
  99. DATA 24 , 0 , 1.35632E-19 , " 5 "
  100. DATA 25 , 0 , 1.50878E-19 , " 2 "
  101. DATA 26 , 0 , 1.35675E-19 , " - "
  102. DATA 27 , 1 , 0 , "dd "
  103. DATA 28 , 0 , 7.73665E+31 , " tttt "
  104. DATA 29 , 0 , 7.10012E-4 , " :::: "
  105. DATA 30 , 0 , 1.15383E+19 , " ___ "
  106. DATA 31 , 0 , 1.35632E-19 , " "
  107. DATA 32 , 0 , 1.35632E-19 , " "
  108. DATA 33 , 0 , 1.60956E+19 , " _____ "
  109. DATA 34 , 1 , 0 , " S "
  110. DATA 35 , 0 , 12680. , " FFFF "
  111. DATA 36 , 0 , 1.35632E-19 , " kkk"
  112. DATA 37 , 0 , 1.35632E-19 , " NNNN "
  113. DATA 38 , 0 , 3.09728E+27 , " mmmm "
  114. DATA 39 , 0 , 1.35632E-19 , " ,,,,, "
  115. DATA 40 , 0 , 1.35788E-19 , "OO "
  116. DATA 41 , 0 , 163968. , " HHHH "
  117. DATA 42 , 1 , 0 , " < "
  118. DATA 43 , 0 , 4.8395E+25 , " j "
  119. DATA 44 , 0 , 1.35632E-19 , " yyyy "
  120. DATA 45 , 0 , 6.0796E-13 , " +++ "
  121. DATA 46 , 1 , 0 , "o "
  122. DATA 47 , 0 , 1.35632E-19 , " (("
  123. DATA 48 , 0 , 1.35632E-19 , " uu "
  124. DATA 49 , 0 , 1.35632E-19 , " 00 "
  125. DATA 50 , 0 , 1.35632E-19 , " HH "
  126. DATA 51 , 0 , 1.35632E-19 , " "
  127. DATA 52 , 0 , 1.68666E-19 , " G "
  128. DATA 53 , 0 , 1.35632E-19 , " {{{{ "
  129. DATA 54 , 0 , 1.35632E-19 , " ]]] "
  130. DATA 55 , 1 , 0 , "CCC"
  131. DATA 56 , 0 , 1.35632E-19 , " 44 "
  132. DATA 57 , 0 , 1.35838E-19 , "^^ "
  133. DATA 58 , 0 , 1.35632E-19 , " QQ "
  134. DATA 59 , 0 , 1.35632E-19 , " FFFF "
  135. DATA 60 , 0 , 1.3589E-19 , " n "
  136. DATA 61 , 0 , 1.35632E-19 , " hh "
  137. DATA 62 , 0 , 1.53489E-19 , "555 "
  138. DATA 63 , 0 , 1.35632E-19 , " YYYY "
  139. DATA 64 , 0 , 1.35632E-19 , " w "
  140. DATA 65 , 0 , 2.15275E+8 , "MMMM "
  141. DATA 66 , 0 , 3.31431E+6 , " JJJJ "
  142. DATA 67 , 0 , 1.35632E-19 , " %% "
  143. DATA 68 , 0 , 1.35632E-19 , " * "
  144. DATA 69 , 0 , 1.35632E-19 , " @@@ "
  145. DATA 70 , 1 , 0 , "I "
  146. DATA 71 , 0 , 1.35632E-19 , " ss "
  147. DATA 72 , 0 , 1.94924E-19 , " f "
  148. DATA 73 , 0 , 640.502 , " D "
  149. DATA 74 , 0 , 1.38183E-19 , "### "
  150. DATA 75 , 0 , 1.35632E-19 , " ' "
  151. DATA 76 , 0 , 1.68327E+22 , " dd "
  152. DATA 77 , 0 , 1.79849E-19 , " TT "
  153. DATA 78 , 0 , 1.248E+33 , " vvv "
  154. DATA 79 , 0 , 1.35632E-19 , " X "
  155. DATA 80 , 0 , 1.35632E-19 , " % "
  156. DATA 81 , 1 , 0 , " "
  157. DATA 82 , 0 , 6.75051E-7 , " 5555 "
  158. DATA 83 , 0 , 12689.6 , "FFFF "
  159. DATA 84 , 0 , 1.35632E-19 , " %% "
  160. DATA 85 , 0 , 1.35632E-19 , " "
  161. DATA 86 , 0 , 8.44477E+37 , " ~~~~ "
  162. DATA 87 , 0 , 3.32568E+36 , " || "
  163. DATA 88 , 0 , 1.35632E-19 , " SSS "
  164. DATA 89 , 0 , 2.38606E-6 , " 6666 "
  165. DATA 90 , 0 , 1.35632E-19 , " ww "
  166. DATA 91 , 0 , 2.57752E-9 , " 1111 "
  167. DATA 92 , 1 , 0 , " K "
  168. DATA 93 , 0 , 7.73665E+31 , " ttttt "
  169. DATA 94 , 0 , 3.47807E+9 , " OOOOO "
  170. DATA 95 , 0 , 1.35754E-19 , " E "
  171. DATA 96 , 0 , 1.39796E+10 , " PPPPP "
  172. DATA 97 , 0 , 1.35632E-19 , " == "
  173. DATA 98 , 0 , 5.89163E+13 , " VVVV "
  174. DATA 99 , 0 , 1.35853E-19 , " c "
  175. DATA 100 , 0 , 1.35632E-19 , " yyyy "
  176. DATA 0
  177. 9000 REM ERROR HANDLER
  178. IF ERL = 999 THEN
  179. F = ABS(SGN(ERR))
  180. RESUME NEXT
  181. END IF
  182. PRINT "*** UNEXPECTED ERROR ON LINE ";ERL;" ***"
  183. 9999 END