cauldron 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. data/.gitignore +51 -0
  2. data/Gemfile +6 -3
  3. data/Gemfile.lock +16 -3
  4. data/Rakefile +94 -92
  5. data/VERSION +1 -1
  6. data/bin/cauldron +2 -2
  7. data/cauldron.gemspec +15 -451
  8. data/features/cauldron_new_approach.feature +46 -0
  9. data/features/step_definitions/cauldron_steps.rb +11 -0
  10. data/features/step_definitions/terminal_steps.rb +0 -2
  11. data/features/support/env.rb +11 -1
  12. data/features/support/hooks.rb +5 -0
  13. data/lib/cauldron.rb +13 -7
  14. data/lib/cauldron/array_reverse_operator.rb +39 -0
  15. data/lib/cauldron/concat_operator.rb +34 -0
  16. data/lib/cauldron/if_relationship.rb +37 -0
  17. data/lib/cauldron/numeric_operator.rb +45 -0
  18. data/lib/cauldron/pot.rb +54 -162
  19. data/lib/cauldron/relationship.rb +5 -0
  20. data/lib/cauldron/terminal.rb +4 -60
  21. data/lib/cauldron/version.rb +3 -0
  22. data/lib/core/string.rb +21 -0
  23. data/sandbox.rb +27 -6
  24. data/spec/cauldron/array_reverse_operator_spec.rb +59 -0
  25. data/spec/cauldron/concat_operator_spec.rb +89 -0
  26. data/spec/cauldron/if_relationship_spec.rb +25 -0
  27. data/spec/cauldron/numeric_operator_spec.rb +70 -0
  28. data/spec/cauldron/pot_spec.rb +81 -151
  29. data/spec/cauldron/terminal_spec.rb +1 -39
  30. data/spec/examples/adding_if_statement.yml +13 -0
  31. data/spec/examples/simple_head_theory.txt +13 -0
  32. data/spec/spec_helper.rb +1 -14
  33. data/tasks/theory_tasks.rake +207 -207
  34. metadata +92 -532
  35. data/cauldron/.autotest +0 -23
  36. data/cauldron/History.txt +0 -6
  37. data/cauldron/Manifest.txt +0 -8
  38. data/cauldron/README.txt +0 -57
  39. data/cauldron/Rakefile +0 -27
  40. data/cauldron/bin/cauldron +0 -3
  41. data/cauldron/lib/cauldron.rb +0 -3
  42. data/cauldron/test/test_cauldron.rb +0 -8
  43. data/features/cauldron_example_cases.feature +0 -13
  44. data/features/cauldron_generates_runtime_method.feature +0 -16
  45. data/features/cauldron_generates_single_paramter_methods.feature +0 -25
  46. data/features/cauldron_interactive_start_terminal.feature +0 -17
  47. data/features/cauldron_quit_terminal.feature +0 -9
  48. data/features/cauldron_start_terminal.feature +0 -12
  49. data/features/support/method_1.example +0 -3
  50. data/features/support/method_2.example +0 -6
  51. data/lib/Chain.rb +0 -771
  52. data/lib/ChainMapping.rb +0 -172
  53. data/lib/CodeHandler.rb +0 -513
  54. data/lib/Mapping.rb +0 -27
  55. data/lib/MappingValues.rb +0 -24
  56. data/lib/PartialChain.rb +0 -253
  57. data/lib/Theory.rb +0 -295
  58. data/lib/UnifiedChain.rb +0 -351
  59. data/lib/cauldron/conversion.rb +0 -15
  60. data/lib/cauldron/demos.rb +0 -280
  61. data/lib/cauldron/env.rb +0 -1
  62. data/lib/cauldron/sexp2cauldron.rb +0 -139
  63. data/lib/cauldron/theory_factory.rb +0 -10
  64. data/lib/cauldron/util/home.rb +0 -21
  65. data/lib/cauldron/util/saver.rb +0 -45
  66. data/lib/core/ActsAsCode.rb +0 -25
  67. data/lib/core/BlockToken.rb +0 -33
  68. data/lib/core/CCall.rb +0 -7
  69. data/lib/core/CTestCase.rb +0 -27
  70. data/lib/core/ClassMethodCallContainer.rb +0 -58
  71. data/lib/core/Container.rb +0 -95
  72. data/lib/core/InstanceCallContainer.rb +0 -298
  73. data/lib/core/MethodUsage.rb +0 -65
  74. data/lib/core/PrintVariables.rb +0 -25
  75. data/lib/core/TheoryGenerator.rb +0 -753
  76. data/lib/core/Token.rb +0 -7
  77. data/lib/core/assignment/Assignment.rb +0 -18
  78. data/lib/core/assignment/Equal.rb +0 -39
  79. data/lib/core/assignment/Equivalent.rb +0 -20
  80. data/lib/core/assignment/NotEqual.rb +0 -14
  81. data/lib/core/call_container/CallContainer.rb +0 -72
  82. data/lib/core/class_method_call/New.rb +0 -15
  83. data/lib/core/class_method_call/RuntimeClassMethodCall.rb +0 -31
  84. data/lib/core/declaration/Declaration.rb +0 -16
  85. data/lib/core/declaration/LiteralDeclaration.rb +0 -47
  86. data/lib/core/declaration/VariableDeclaration.rb +0 -59
  87. data/lib/core/instance_call/ArrayEach.rb +0 -23
  88. data/lib/core/instance_call/ArrayLength.rb +0 -15
  89. data/lib/core/instance_call/Chop.rb +0 -19
  90. data/lib/core/instance_call/Copy.rb +0 -22
  91. data/lib/core/instance_call/DeclaredVariable.rb +0 -18
  92. data/lib/core/instance_call/InstanceCall.rb +0 -77
  93. data/lib/core/instance_call/Params.rb +0 -15
  94. data/lib/core/instance_call/Push.rb +0 -20
  95. data/lib/core/instance_call/StringLength.rb +0 -32
  96. data/lib/core/instance_call/Times.rb +0 -20
  97. data/lib/core/instance_call/instance_calls.rb +0 -176
  98. data/lib/core/instance_call/length_equal.rb +0 -15
  99. data/lib/core/kernal/EvalCall.rb +0 -15
  100. data/lib/core/kernal/LocalVariablesCall.rb +0 -15
  101. data/lib/core/literal/Literal.rb +0 -111
  102. data/lib/core/literal/Raw.rb +0 -23
  103. data/lib/core/literal/RuntimeMethodLiteral.rb +0 -21
  104. data/lib/core/literal/StatementLiteral.rb +0 -28
  105. data/lib/core/method_call/AvailableVariablesCall.rb +0 -25
  106. data/lib/core/method_call/ClassCall.rb +0 -33
  107. data/lib/core/method_call/DefCall.rb +0 -72
  108. data/lib/core/method_call/EvaluateClassCall.rb +0 -29
  109. data/lib/core/method_call/MethodNameCall.rb +0 -27
  110. data/lib/core/method_call/ToDeclarationCall.rb +0 -15
  111. data/lib/core/requirement/Requirement.rb +0 -292
  112. data/lib/core/runtime_class/ArrayClass.rb +0 -19
  113. data/lib/core/runtime_class/ClassCallClass.rb +0 -23
  114. data/lib/core/runtime_class/ClassEvaluationClass.rb +0 -19
  115. data/lib/core/runtime_class/ClassName.rb +0 -18
  116. data/lib/core/runtime_class/DefCallClass.rb +0 -21
  117. data/lib/core/runtime_class/EqualClass.rb +0 -19
  118. data/lib/core/runtime_class/FixnumClass.rb +0 -15
  119. data/lib/core/runtime_class/InstanceCallClass.rb +0 -19
  120. data/lib/core/runtime_class/InstanceCallContainerClass.rb +0 -16
  121. data/lib/core/runtime_class/InstanceClassCallClass.rb +0 -19
  122. data/lib/core/runtime_class/LiteralClass.rb +0 -19
  123. data/lib/core/runtime_class/MethodParameterClass.rb +0 -27
  124. data/lib/core/runtime_class/MethodUsageClass.rb +0 -27
  125. data/lib/core/runtime_class/RequirementClass.rb +0 -19
  126. data/lib/core/runtime_class/ReturnClass.rb +0 -21
  127. data/lib/core/runtime_class/RuntimeClass.rb +0 -30
  128. data/lib/core/runtime_class/RuntimeClassClass.rb +0 -19
  129. data/lib/core/runtime_class/RuntimeMethodClass.rb +0 -34
  130. data/lib/core/runtime_class/StatementClass.rb +0 -53
  131. data/lib/core/runtime_class/StringClass.rb +0 -23
  132. data/lib/core/runtime_class/StringLengthClass.rb +0 -19
  133. data/lib/core/runtime_class/StringVariableClass.rb +0 -19
  134. data/lib/core/runtime_class/ThisClass.rb +0 -15
  135. data/lib/core/runtime_class/UnknownClass.rb +0 -23
  136. data/lib/core/runtime_class/class_names.rb +0 -95
  137. data/lib/core/runtime_class/runtime_class.rb +0 -123
  138. data/lib/core/runtime_method/ActsAsRuntimeMethod.rb +0 -293
  139. data/lib/core/runtime_method/ParametersContainer.rb +0 -29
  140. data/lib/core/runtime_method/RealisedRuntimeMethod.rb +0 -94
  141. data/lib/core/runtime_method/RuntimeMethod.rb +0 -814
  142. data/lib/core/runtime_method/WriteParameters.rb +0 -35
  143. data/lib/core/statement/ActsAsStatement.rb +0 -20
  144. data/lib/core/statement/ArrayAccess.rb +0 -122
  145. data/lib/core/statement/BlockStatement.rb +0 -348
  146. data/lib/core/statement/DeclarationStatement.rb +0 -19
  147. data/lib/core/statement/HackStatement.rb +0 -25
  148. data/lib/core/statement/HashAccess.rb +0 -18
  149. data/lib/core/statement/OpenStatement.rb +0 -178
  150. data/lib/core/statement/RealisedStatement.rb +0 -5
  151. data/lib/core/statement/SingleLineBlockStatement.rb +0 -39
  152. data/lib/core/statement/Statement.rb +0 -1091
  153. data/lib/core/statement/StatementGroup.rb +0 -157
  154. data/lib/core/statement/StatementStructure2.rb +0 -224
  155. data/lib/core/statement/TheoryStatement.rb +0 -68
  156. data/lib/core/statement/TopologicalStatements.rb +0 -34
  157. data/lib/core/syntax/Addition.rb +0 -26
  158. data/lib/core/syntax/BlockContainer.rb +0 -102
  159. data/lib/core/syntax/Boolean.rb +0 -15
  160. data/lib/core/syntax/Code.rb +0 -11
  161. data/lib/core/syntax/Do.rb +0 -20
  162. data/lib/core/syntax/False.rb +0 -12
  163. data/lib/core/syntax/If.rb +0 -36
  164. data/lib/core/syntax/Nil.rb +0 -15
  165. data/lib/core/syntax/Return.rb +0 -33
  166. data/lib/core/syntax/Subtract.rb +0 -19
  167. data/lib/core/syntax/This.rb +0 -40
  168. data/lib/core/syntax/True.rb +0 -20
  169. data/lib/core/syntax/syntax.rb +0 -24
  170. data/lib/core/tracking/ActsAsTrackable.rb +0 -65
  171. data/lib/core/tracking/History.rb +0 -167
  172. data/lib/core/tracking/RuntimeTrackingMethod.rb +0 -32
  173. data/lib/core/tracking/Step.rb +0 -52
  174. data/lib/core/variable/ArrayVariable.rb +0 -76
  175. data/lib/core/variable/BaseVariable.rb +0 -152
  176. data/lib/core/variable/BlockVariable.rb +0 -92
  177. data/lib/core/variable/FixnumVariable.rb +0 -35
  178. data/lib/core/variable/HistoryVariable.rb +0 -8
  179. data/lib/core/variable/MethodParameter.rb +0 -179
  180. data/lib/core/variable/MethodUsageVariable.rb +0 -60
  181. data/lib/core/variable/NilVariable.rb +0 -29
  182. data/lib/core/variable/RuntimeMethodParameter.rb +0 -67
  183. data/lib/core/variable/StatementVariable.rb +0 -72
  184. data/lib/core/variable/StepVariable.rb +0 -7
  185. data/lib/core/variable/StringVariable.rb +0 -46
  186. data/lib/core/variable/TypeVariable.rb +0 -72
  187. data/lib/core/variable/Unknown.rb +0 -102
  188. data/lib/core/variable/UnknownVariable.rb +0 -29
  189. data/lib/core/variable/Variable.rb +0 -70
  190. data/lib/core/variable/VariableContainer.rb +0 -28
  191. data/lib/core/variable/VariableIncluded.rb +0 -27
  192. data/lib/core/variable/VariableReference.rb +0 -85
  193. data/lib/error/FailedToFindStatementContainerError.rb +0 -7
  194. data/lib/error/FailedToFindStatementError.rb +0 -7
  195. data/lib/error/FailedToFindVariableError.rb +0 -7
  196. data/lib/error/FailedToLiteraliseError.rb +0 -7
  197. data/lib/error/FailedVariableMatch.rb +0 -7
  198. data/lib/error/ImproperStatementUsageError.rb +0 -7
  199. data/lib/error/IncompatiableRequirementsError.rb +0 -7
  200. data/lib/error/InvalidStatementError.rb +0 -7
  201. data/lib/error/MethodSizeError.rb +0 -7
  202. data/lib/error/RuntimeSyntaxError.rb +0 -7
  203. data/lib/error/UnexpectedStatementTypeError.rb +0 -7
  204. data/lib/error/UnknownStatementType.rb +0 -7
  205. data/lib/error/UnliteralisableError.rb +0 -7
  206. data/lib/implemented_chain.rb +0 -35
  207. data/lib/intrinsic/IntrinsicLastRuntimeMethod.rb +0 -20
  208. data/lib/intrinsic/IntrinsicLiteral.rb +0 -26
  209. data/lib/intrinsic/IntrinsicObject.rb +0 -22
  210. data/lib/intrinsic/IntrinsicRuntimeMethod.rb +0 -27
  211. data/lib/intrinsic/IntrinsicTestCases.rb +0 -17
  212. data/lib/logger/StandardLogger.rb +0 -62
  213. data/lib/required.rb +0 -222
  214. data/lib/ruby_code/Array.rb +0 -95
  215. data/lib/ruby_code/Fixnum.rb +0 -39
  216. data/lib/ruby_code/Hash.rb +0 -25
  217. data/lib/ruby_code/NilClass.rb +0 -19
  218. data/lib/ruby_code/Object.rb +0 -24
  219. data/lib/ruby_code/String.rb +0 -63
  220. data/lib/ruby_code/Symbol.rb +0 -7
  221. data/lib/standard_library/Tasks.rb +0 -12
  222. data/lib/theories.rb +0 -166
  223. data/lib/theory/ActionImplementation.rb +0 -17
  224. data/lib/theory/TheoryAction.rb +0 -100
  225. data/lib/theory/TheoryChainValidator.rb +0 -103
  226. data/lib/theory/TheoryComponent.rb +0 -59
  227. data/lib/theory/TheoryConnector.rb +0 -756
  228. data/lib/theory/TheoryDependent.rb +0 -135
  229. data/lib/theory/TheoryImplementation.rb +0 -75
  230. data/lib/theory/TheoryResult.rb +0 -131
  231. data/lib/theory/TheoryVariable.rb +0 -63
  232. data/lib/theory/theory_collection.rb +0 -62
  233. data/lib/util/ClassEvaluation.rb +0 -44
  234. data/lib/util/CodeEvaluation.rb +0 -39
  235. data/lib/util/DeclarationStatementEvaluation.rb +0 -32
  236. data/lib/util/MethodEvaluation.rb +0 -49
  237. data/lib/util/MethodTester.rb +0 -71
  238. data/lib/util/MethodValidation.rb +0 -149
  239. data/lib/util/MethodWriter.rb +0 -66
  240. data/lib/util/Parser.rb +0 -305
  241. data/lib/util/StatementCheck.rb +0 -44
  242. data/lib/util/StringToTheory.rb +0 -142
  243. data/lib/util/System.rb +0 -8
  244. data/spec/cauldron/chain_spec.rb +0 -24
  245. data/spec/cauldron/demos_spec.rb +0 -30
  246. data/spec/cauldron/runtime_method_spec.rb +0 -92
  247. data/spec/cauldron/saver_spec.rb +0 -45
  248. data/spec/cauldron/sexp_2_cauldron_spec.rb +0 -118
  249. data/spec/cauldron/theory_action_spec.rb +0 -25
  250. data/spec/cauldron/theory_connector_spec.rb +0 -52
  251. data/spec/cauldron/theory_spec.rb +0 -59
  252. data/spec/cauldron/unified_chain_spec.rb +0 -140
  253. data/test/fixtures/chains/1/declaration.txt +0 -26
  254. data/test/fixtures/chains/1/dump +0 -0
  255. data/test/fixtures/chains/2/declaration.txt +0 -26
  256. data/test/fixtures/chains/2/dump +0 -0
  257. data/test/fixtures/chains/3/declaration.txt +0 -26
  258. data/test/fixtures/chains/3/dump +0 -0
  259. data/test/fixtures/implementation_results/0/declaration.txt +0 -3
  260. data/test/fixtures/implementation_results/0/dump +0 -0
  261. data/test/fixtures/theories/0/declaration.txt +0 -9
  262. data/test/fixtures/theories/0/desc +0 -10
  263. data/test/fixtures/theories/0/dump +0 -0
  264. data/test/fixtures/theories/1/declaration.txt +0 -15
  265. data/test/fixtures/theories/1/desc +0 -11
  266. data/test/fixtures/theories/1/dump +0 -0
  267. data/test/fixtures/theories/10/declaration.txt +0 -23
  268. data/test/fixtures/theories/10/desc +0 -17
  269. data/test/fixtures/theories/10/dump +0 -0
  270. data/test/fixtures/theories/11/declaration.txt +0 -20
  271. data/test/fixtures/theories/11/desc +0 -14
  272. data/test/fixtures/theories/11/dump +0 -0
  273. data/test/fixtures/theories/12/declaration.txt +0 -18
  274. data/test/fixtures/theories/12/desc +0 -12
  275. data/test/fixtures/theories/12/dump +0 -0
  276. data/test/fixtures/theories/13/declaration.txt +0 -24
  277. data/test/fixtures/theories/13/desc +0 -20
  278. data/test/fixtures/theories/13/dump +0 -0
  279. data/test/fixtures/theories/14/declaration.txt +0 -26
  280. data/test/fixtures/theories/14/desc +0 -20
  281. data/test/fixtures/theories/14/dump +0 -0
  282. data/test/fixtures/theories/15/declaration.txt +0 -20
  283. data/test/fixtures/theories/15/desc +0 -14
  284. data/test/fixtures/theories/15/dump +0 -0
  285. data/test/fixtures/theories/16/declaration.txt +0 -30
  286. data/test/fixtures/theories/16/desc +0 -14
  287. data/test/fixtures/theories/16/dump +0 -0
  288. data/test/fixtures/theories/17/declaration.txt +0 -25
  289. data/test/fixtures/theories/17/desc +0 -11
  290. data/test/fixtures/theories/17/dump +0 -0
  291. data/test/fixtures/theories/18/declaration.txt +0 -23
  292. data/test/fixtures/theories/18/desc +0 -11
  293. data/test/fixtures/theories/18/dump +0 -0
  294. data/test/fixtures/theories/19/declaration.txt +0 -23
  295. data/test/fixtures/theories/19/desc +0 -11
  296. data/test/fixtures/theories/19/dump +0 -0
  297. data/test/fixtures/theories/2/declaration.txt +0 -12
  298. data/test/fixtures/theories/2/desc +0 -10
  299. data/test/fixtures/theories/2/dump +0 -0
  300. data/test/fixtures/theories/20/declaration.txt +0 -23
  301. data/test/fixtures/theories/20/desc +0 -17
  302. data/test/fixtures/theories/20/dump +0 -0
  303. data/test/fixtures/theories/3/declaration.txt +0 -19
  304. data/test/fixtures/theories/3/desc +0 -11
  305. data/test/fixtures/theories/3/dump +0 -0
  306. data/test/fixtures/theories/4/declaration.txt +0 -11
  307. data/test/fixtures/theories/4/desc +0 -11
  308. data/test/fixtures/theories/4/dump +0 -0
  309. data/test/fixtures/theories/5/declaration.txt +0 -6
  310. data/test/fixtures/theories/5/desc +0 -9
  311. data/test/fixtures/theories/5/dump +0 -0
  312. data/test/fixtures/theories/6/declaration.txt +0 -13
  313. data/test/fixtures/theories/6/desc +0 -11
  314. data/test/fixtures/theories/6/dump +0 -0
  315. data/test/fixtures/theories/7/declaration.txt +0 -19
  316. data/test/fixtures/theories/7/desc +0 -11
  317. data/test/fixtures/theories/7/dump +0 -0
  318. data/test/fixtures/theories/8/declaration.txt +0 -21
  319. data/test/fixtures/theories/8/desc +0 -11
  320. data/test/fixtures/theories/8/dump +0 -0
  321. data/test/fixtures/theories/9/declaration.txt +0 -24
  322. data/test/fixtures/theories/9/desc +0 -20
  323. data/test/fixtures/theories/9/dump +0 -0
  324. data/test/fixtures/theory_implementations/0/declaration.txt +0 -11
  325. data/test/fixtures/theory_implementations/0/desc.txt +0 -9
  326. data/test/fixtures/theory_implementations/0/dump +0 -0
  327. data/test/fixtures/theory_implementations/0/theory_id +0 -1
  328. data/test/fixtures/theory_implementations/1/declaration.txt +0 -11
  329. data/test/fixtures/theory_implementations/1/desc.txt +0 -9
  330. data/test/fixtures/theory_implementations/1/dump +0 -1
  331. data/test/fixtures/theory_implementations/1/theory_id +0 -1
  332. data/test/fixtures/theory_implementations/2/declaration.txt +0 -11
  333. data/test/fixtures/theory_implementations/2/desc.txt +0 -9
  334. data/test/fixtures/theory_implementations/2/dump +0 -0
  335. data/test/fixtures/theory_implementations/2/theory_id +0 -1
  336. data/test/output/simple_method.txt +0 -5
  337. data/test/output/test_method/first_possible_method.txt +0 -6
  338. data/test/output/test_simple_cases/simple_case_01.txt +0 -8
  339. data/test/output/test_simple_cases/simple_case_02.txt +0 -7
  340. data/test/output/test_simple_cases/simple_case_03.txt +0 -8
  341. data/test/output/test_simple_cases/simple_case_04.txt +0 -8
  342. data/test/output/test_simple_cases/simple_case_05.txt +0 -8
  343. data/test/output/test_simple_cases/simple_case_06.txt +0 -9
  344. data/test/output/test_simple_cases/simple_case_07.txt +0 -9
  345. data/test/output/test_simple_cases/simple_case_08.txt +0 -9
  346. data/test/tc_describe.rb +0 -46
  347. data/test/tc_method.rb +0 -130
  348. data/test/tc_requirement.rb +0 -30
  349. data/test/tc_suite_complete.rb +0 -26
  350. data/test/tc_variable.rb +0 -52
  351. data/test/ts_complete.rb +0 -74
  352. data/test/ts_stable.rb +0 -81
  353. data/test/unit/core/declaration/tc_literal_declaration.rb +0 -34
  354. data/test/unit/core/method_call/tc_class_call.rb +0 -20
  355. data/test/unit/core/runtime_method/tc_realised_runtime_method.rb +0 -132
  356. data/test/unit/core/runtime_method/tc_runtime_method.rb +0 -546
  357. data/test/unit/core/statement/tc_array_access.rb +0 -63
  358. data/test/unit/core/statement/tc_block_statement.rb +0 -53
  359. data/test/unit/core/statement/tc_hack_statement.rb +0 -26
  360. data/test/unit/core/statement/tc_open_statement.rb +0 -79
  361. data/test/unit/core/statement/tc_statement.rb +0 -483
  362. data/test/unit/core/statement/tc_statement_group.rb +0 -35
  363. data/test/unit/core/statement/tc_statement_replace_variable.rb +0 -61
  364. data/test/unit/core/statement/tc_theory_statement.rb +0 -53
  365. data/test/unit/core/syntax/tc_block_container.rb +0 -32
  366. data/test/unit/core/syntax/tc_if_container.rb +0 -39
  367. data/test/unit/core/tc_class_method_call.rb +0 -34
  368. data/test/unit/core/tc_container.rb +0 -41
  369. data/test/unit/core/tc_ctest_case.rb +0 -25
  370. data/test/unit/core/tc_instance_call_container.rb +0 -93
  371. data/test/unit/core/tc_literal.rb +0 -30
  372. data/test/unit/core/tc_theory_generator.rb +0 -336
  373. data/test/unit/core/tc_theory_generator_heavy.rb +0 -42
  374. data/test/unit/core/tracking/tc_history.rb +0 -104
  375. data/test/unit/core/tracking/tc_step.rb +0 -65
  376. data/test/unit/core/variable/tc_array_variable.rb +0 -61
  377. data/test/unit/core/variable/tc_block_variable.rb +0 -17
  378. data/test/unit/core/variable/tc_fixnum_variable.rb +0 -54
  379. data/test/unit/core/variable/tc_method_parameter_variable.rb +0 -22
  380. data/test/unit/core/variable/tc_runtime_method_variable.rb +0 -32
  381. data/test/unit/core/variable/tc_string_variable.rb +0 -37
  382. data/test/unit/core/variable/tc_unknown.rb +0 -24
  383. data/test/unit/core/variable/tc_variable_reference.rb +0 -28
  384. data/test/unit/ruby_code/tc_array.rb +0 -64
  385. data/test/unit/ruby_code/tc_fixnum.rb +0 -18
  386. data/test/unit/ruby_code/tc_hash.rb +0 -41
  387. data/test/unit/ruby_code/tc_string.rb +0 -38
  388. data/test/unit/tc_chain.rb +0 -434
  389. data/test/unit/tc_chain_mapping.rb +0 -62
  390. data/test/unit/tc_chain_with_case_1.rb +0 -169
  391. data/test/unit/tc_instance_call.rb +0 -40
  392. data/test/unit/tc_method_usage.rb +0 -35
  393. data/test/unit/tc_pot.rb +0 -124
  394. data/test/unit/tc_runtime_tracking_method.rb +0 -40
  395. data/test/unit/tc_theory.rb +0 -531
  396. data/test/unit/tc_variable_declaration.rb +0 -32
  397. data/test/unit/theory/tc_theory_action.rb +0 -108
  398. data/test/unit/theory/tc_theory_action_implementation.rb +0 -23
  399. data/test/unit/theory/tc_theory_chain_validator.rb +0 -340
  400. data/test/unit/theory/tc_theory_connector.rb +0 -361
  401. data/test/unit/theory/tc_theory_dependent.rb +0 -153
  402. data/test/unit/theory/tc_theory_implementation.rb +0 -137
  403. data/test/unit/theory/tc_theory_result.rb +0 -112
  404. data/test/unit/theory/tc_theory_variable.rb +0 -45
  405. data/test/unit/util/tc_method_validation.rb +0 -101
  406. data/test/unit/util/tc_parser.rb +0 -110
  407. data/test/unit/util/tc_string_to_theory.rb +0 -300
  408. data/test/unit/variable/tc_method_usage_variable.rb +0 -25
  409. data/tmp/runtime_method_evaluation.rb +0 -16
@@ -1,65 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestStep < Test::Unit::TestCase
5
-
6
- def setup
7
- # "variables"=>[
8
- # {"id"=>3, "value"=>"Grim Fandang", "abs_id"=>-606538658, :uniq_id=>3},
9
- # {"id"=>1, "value"=>"Grim Fandango", "abs_id"=>-606538498, :uniq_id=>2}
10
- # ],
11
- # "line"=>1,
12
- # "statement_id"=>625,
13
- # "action"=>"var='Grim Fandango'.chop"}
14
- @basic_step = Step.new(
15
- 1,
16
- 625,
17
- [ {"id"=>3, "value"=>"Grim Fandang", "abs_id"=>-606538658, :uniq_id=>3},
18
- {"id"=>1, "value"=>"Grim Fandango", "abs_id"=>-606538498, :uniq_id=>2}],
19
- "var='Grim Fandango'.chop"
20
- )
21
-
22
- end
23
-
24
- def teardown
25
- System.reset
26
- end
27
-
28
- def test_initialize
29
- assert_nothing_raised(){
30
- basic_step = Step.new(
31
- 1,
32
- 625,
33
- [ {"id"=>3, "value"=>"Grim Fandang", "abs_id"=>-606538658, :uniq_id=>3},
34
- {"id"=>1, "value"=>"Grim Fandango", "abs_id"=>-606538498, :uniq_id=>2}],
35
- "var='Grim Fandango'.chop"
36
- )
37
- }
38
- end
39
-
40
- def test_find_data_for_variable
41
-
42
- end
43
-
44
- def test_to_var
45
- assert_nothing_raised(){@basic_step.to_var}
46
- assert_kind_of(StepVariable,@basic_step.to_var)
47
- end
48
-
49
- def test_copy
50
- assert_nothing_raised(){@basic_step.copy}
51
- assert_equal(
52
- @basic_step['line'],
53
- @basic_step.copy['line']
54
- )
55
- assert_equal(
56
- @basic_step['variables'][0]['abs_id'],
57
- @basic_step.copy['variables'][0]['abs_id']
58
- )
59
- assert_equal(
60
- @basic_step['variables'][1]['abs_id'],
61
- @basic_step.copy['variables'][1]['abs_id']
62
- )
63
- end
64
-
65
- end
@@ -1,61 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestArrayVariable < Test::Unit::TestCase
5
-
6
- def setup
7
- @animals = ['spider','bear','rat'].to_var
8
- @games = ['Grim Fandango','Fallout'].to_var
9
- @games.instance_variable = true
10
- end
11
-
12
- def teardown
13
- System.reset
14
- end
15
-
16
- def test_to_declaration
17
- assert(@animals.to_declaration.kind_of?(VariableDeclaration))
18
- assert_not_nil(@animals.to_declaration.write,'Should write out command to create array variable')
19
- end
20
-
21
- def test_initialize
22
- assert_equal(3,@animals.length)
23
- end
24
-
25
- def test_literalise
26
- assert(@animals.literalise.value.instance_of?(Array))
27
- assert_equal(3,@animals.literalise.value.length)
28
- assert_equal('spider',@animals.literalise.value.first)
29
- end
30
-
31
- def test_copy
32
- assert_equal(@animals.length,@animals.copy.length)
33
- assert_equal(@animals.variable_id,@animals.copy.variable_id)
34
- assert_equal(@animals.first,@animals.copy.first)
35
- assert_equal('@var_'+@games.variable_id.to_s,@games.copy.write)
36
- assert_not_nil(@animals.uniq_id)
37
- assert_equal(@animals.uniq_id,@animals.copy.uniq_id)
38
- end
39
-
40
- # Find the following access calls for the array .length [0],[1],[2]
41
- def test_instance_calls
42
- assert_equal(4,@animals.instance_calls.length)
43
- assert_equal(4,@animals.instance_calls.find_all {|x| x.kind_of?(InstanceCallContainer)}.length)
44
- assert_equal(3,@animals.instance_calls.find_all {|x| x.kind_of?(ArrayAccess)}.length)
45
- end
46
-
47
- def test_write
48
- assert_equal('var_'+@animals.variable_id.to_s,@animals.write)
49
- assert_equal('@var_'+@games.variable_id.to_s,@games.write)
50
- end
51
-
52
- def test_instance_variable
53
- tmp = ['bad','science'].to_var
54
- assert_equal(false,tmp.instance_variable)
55
- tmp.instance_variable = true
56
- assert_equal(true,tmp.instance_variable)
57
- assert_equal(false,@animals.instance_variable)
58
- assert_equal(true,@games.instance_variable)
59
- end
60
-
61
- end
@@ -1,17 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestBlockVariable < Test::Unit::TestCase
5
-
6
- def setup
7
- end
8
-
9
- def teardown
10
- System.reset
11
- end
12
-
13
- def test_copy
14
-
15
- end
16
-
17
- end
@@ -1,54 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestFixnumVariable < Test::Unit::TestCase
5
-
6
- def setup
7
-
8
- # Create a simple fixnum for testing
9
- @var_8 = FixnumVariable.new(8)
10
-
11
- end
12
-
13
- def teardown
14
- System.reset
15
- end
16
-
17
- def test_copy
18
-
19
- # Test a simple fixnum example cap be copied
20
- assert_nothing_raised(){@var_8.copy}
21
- assert_equal(@var_8.variable_id,@var_8.copy.variable_id)
22
- assert_not_nil(@var_8.uniq_id)
23
- assert_equal(@var_8.uniq_id,@var_8.copy.uniq_id)
24
-
25
- end
26
-
27
- def test_variable_id=
28
-
29
- # Checks that non fixnum instances can edit the variable id
30
- assert_nothing_raised(){@var_8.variable_id = 3}
31
-
32
- end
33
-
34
- # Checks that the description is written correctly. It should contain
35
- # a newline character at the end because the description will probably
36
- # require an each_line call made to it.
37
- #
38
- def test_describe
39
- assert_equal("[FixnumVariable] 8\n",@var_8.describe)
40
- end
41
-
42
- # Check the instance calls a single fixnum variable can create. Currently
43
- # there aren't any but that might change.
44
- #
45
- def test_instance_calls
46
- assert_equal(0,@var_8.instance_calls().length)
47
- end
48
-
49
- def test_to_declaration
50
- assert_nothing_raised() {@var_8.to_declaration}
51
- assert_equal('FixnumVariable.new(8)',@var_8.to_declaration.write)
52
- end
53
-
54
- end
@@ -1,22 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestMethodParameterVariable < Test::Unit::TestCase
5
-
6
- def setup
7
- end
8
-
9
- def teardown
10
- System.reset
11
- RuntimeMethod.reset_global_id
12
- end
13
-
14
- def test_initialize
15
- assert_nothing_raised(){MethodParameter.new}
16
- end
17
-
18
- def test_initialize_variable_id_is_created
19
- assert(MethodParameter.new.variable_id.kind_of?(Fixnum))
20
- end
21
-
22
- end
@@ -1,32 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestRuntimeMethodParameter < Test::Unit::TestCase
5
-
6
- def setup
7
-
8
- # Create a simple runtime method instance for testing
9
- @empty_runtime_method = RuntimeMethod.new(MethodUsage.new).to_var
10
-
11
- end
12
-
13
- def teardown
14
- System.reset
15
- end
16
-
17
- def test_copy
18
- assert_equal(@empty_runtime_method.copy.variable_id,@empty_runtime_method.variable_id)
19
- assert_equal(@empty_runtime_method.copy.uniq_id,@empty_runtime_method.uniq_id)
20
- end
21
-
22
- def test_instance_calls
23
-
24
- # Check that a .push instance call can be created
25
- statement_var = Statement.new().to_var
26
- possible_instance_calls = @empty_runtime_method.instance_calls([statement_var])
27
- assert_equal(1,possible_instance_calls.length)
28
- assert_equal(@empty_runtime_method.write+'.push('+statement_var.write+')',possible_instance_calls.first.write)
29
-
30
- end
31
-
32
- end
@@ -1,37 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestStringVariable < Test::Unit::TestCase
5
-
6
- def setup
7
-
8
- # Create a simple fixnum for testing
9
- @var_manny = StringVariable.new('manny')
10
-
11
- end
12
-
13
- def teardown
14
- System.reset
15
- RuntimeMethod.reset_global_id
16
- end
17
-
18
- def test_copy
19
-
20
- # Test a simple fixnum example cap be copied
21
- assert_nothing_raised(){@var_manny.copy}
22
- assert_equal(@var_manny.variable_id,@var_manny.copy.variable_id)
23
-
24
- end
25
-
26
- #
27
- def test_instance_calls
28
-
29
- # Confirm the datatype of all the returned elements in an array
30
- assert(@var_manny.instance_calls.kind_of?(Array))
31
- @var_manny.instance_calls.each do |instance_call|
32
- assert(instance_call.kind_of?(InstanceCallContainer))
33
- end
34
-
35
- end
36
-
37
- end
@@ -1,24 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestUnknown < Test::Unit::TestCase
5
-
6
- def setup
7
-
8
- end
9
-
10
- def teardown
11
- System.reset
12
- end
13
-
14
- def test_initialize
15
- end
16
-
17
- #
18
- def test_to_var
19
- assert_nothing_raised(){Unknown.new.to_var}
20
- assert_equal(89,Unknown.new.to_var(89).variable_id)
21
- assert_equal(99,Unknown.new.to_var(89,99).uniq_id)
22
- end
23
-
24
- end
@@ -1,28 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestVariableReference < Test::Unit::TestCase
5
-
6
- # var_12 = Statement.new(Unknown.new,Equal.new,8.to_declaration)
7
- # var_13 = 8
8
- # var_559 = RuntimeMethod.new(var_11)
9
- # var_570 = var_12.declared_variable
10
-
11
- def setup
12
-
13
- end
14
-
15
- def teardown
16
- System.reset
17
- RuntimeMethod.reset_global_id
18
- end
19
-
20
- # Scenario
21
-
22
- def test_variable_reference_is_maintained
23
-
24
-
25
-
26
- end
27
-
28
- end
@@ -1,64 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestArray < Test::Unit::TestCase
5
-
6
- def setup
7
- @teams = ['Manchester United','Arsenal']
8
- @animals = ['spider','bear','rat']
9
- end
10
-
11
- def teardown
12
- System.reset
13
- end
14
-
15
- def test_to_literal
16
- assert(@teams.to_literal.kind_of?(Literal))
17
- assert_equal(@teams.length,@teams.to_literal.value.length)
18
- assert_equal(@teams.first,@teams.to_literal.value.first.value)
19
- assert(@teams.to_literal.value.last.kind_of?(Literal))
20
- end
21
-
22
- def test_to_declaration
23
- assert_equal(true,@animals.to_declaration.kind_of?(LiteralDeclaration))
24
- #assert_equal('["spider", "bear", "rat"]',@animals.to_declaration.write)
25
- end
26
-
27
- def test_contains?
28
-
29
- # Check that contains? searches go through each of the elements
30
- results = [[].to_var,7.to_var]
31
- assert(results.contains? {|x| x.kind_of?(ArrayVariable)})
32
- assert(results.contains? {|x| x.kind_of?(FixnumVariable)})
33
- assert_equal(false,results.contains? {|x| x.kind_of?(StringVariable)})
34
-
35
- end
36
-
37
- def test_in_tandem
38
-
39
- letters = ('A'..'C').to_a
40
- numbers = (1..3).to_a
41
- container = []
42
- letters.zip(numbers) do |x,y|
43
- container.push(x+y.to_s)
44
- end
45
- assert_equal('A1',container.first)
46
- assert_equal('B2',container[1])
47
- assert_equal('C3',container.last)
48
-
49
- end
50
-
51
- def test_to_var
52
- assert_equal(5,['A','B','C'].to_var(5,10).variable_id)
53
- assert_equal(10,['A','B','C'].to_var(5,10).uniq_id)
54
- end
55
-
56
- def test_select_all_with_simple_structure
57
- assert_equal(5,['A',['B','C'],'D'].select_all {|x| true }.length)
58
- end
59
-
60
- def test_select_all_with_class_match
61
- assert_equal(4,['A',['B','C'],'D'].select_all {|x| x.kind_of?(String) }.length)
62
- end
63
-
64
- end
@@ -1,18 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestFixnum < Test::Unit::TestCase
5
-
6
- def setup
7
- end
8
-
9
- def teardown
10
- System.reset
11
- end
12
-
13
- def test_to_var
14
- assert_equal(8,6.to_var(8,9).variable_id)
15
- assert_equal(9,6.to_var(8,9).uniq_id)
16
- end
17
-
18
- end
@@ -1,41 +0,0 @@
1
- require 'required'
2
- require 'test/unit'
3
-
4
- class TestHash < Test::Unit::TestCase
5
-
6
- def setup
7
- @hash_a = {:mass_effect,'awesome' }
8
- end
9
-
10
- def teardown
11
- System.reset
12
- RuntimeMethod.reset_global_id
13
- end
14
-
15
- def test_copy
16
- assert_nothing_raised(){@hash_a.copy}
17
- assert(@hash_a.copy.kind_of?(Hash))
18
- assert_equal(@hash_a.write,@hash_a.copy.write)
19
- assert_not_equal(@hash_a.copy.shift.object_id,@hash_a.copy.shift.object_id)
20
- end
21
-
22
- def test_copy_with_mapping_hash
23
- mapping = {
24
- 5 => Parser.run('test_cases'),
25
- 6 => Parser.run('0'),
26
- 1 => Parser.run('last_runtime_method'),
27
- 2 => Parser.run('runtime_method'),
28
- 3 => Parser.run('1'),
29
- 4 => Parser.run('0')
30
- }
31
- assert_equal(
32
- 6,
33
- mapping.copy.length
34
- )
35
- copied = mapping.copy
36
- copied[6] = 'Warren'
37
- assert_not_equal(copied[6].object_id,mapping[6].object_id)
38
- assert_equal(copied.length,mapping.length)
39
- end
40
-
41
- end