cosmos 3.2.1 → 3.3.0

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 (364) hide show
  1. checksums.yaml +4 -4
  2. data/Manifest.txt +195 -0
  3. data/README.md +3 -3
  4. data/data/crc.txt +52 -52
  5. data/lib/cosmos.rb +1 -1
  6. data/lib/cosmos/core_ext/time.rb +11 -9
  7. data/lib/cosmos/gui/choosers/telemetry_chooser.rb +0 -2
  8. data/lib/cosmos/gui/dialogs/about_dialog.rb +2 -2
  9. data/lib/cosmos/gui/dialogs/exception_dialog.rb +2 -2
  10. data/lib/cosmos/gui/dialogs/progress_dialog.rb +11 -5
  11. data/lib/cosmos/gui/dialogs/splash.rb +32 -10
  12. data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +1 -1
  13. data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +2 -2
  14. data/lib/cosmos/gui/qt.rb +22 -22
  15. data/lib/cosmos/io/json_drb.rb +4 -4
  16. data/lib/cosmos/io/json_rpc.rb +21 -21
  17. data/lib/cosmos/packet_logs/packet_log_writer.rb +18 -20
  18. data/lib/cosmos/packets/commands.rb +8 -6
  19. data/lib/cosmos/packets/limits.rb +3 -2
  20. data/lib/cosmos/packets/packet.rb +14 -11
  21. data/lib/cosmos/packets/parsers/limits_parser.rb +1 -1
  22. data/lib/cosmos/packets/parsers/macro_parser.rb +4 -4
  23. data/lib/cosmos/packets/parsers/state_parser.rb +1 -1
  24. data/lib/cosmos/packets/structure.rb +2 -2
  25. data/lib/cosmos/packets/telemetry.rb +5 -4
  26. data/lib/cosmos/script/script.rb +6 -6
  27. data/lib/cosmos/streams/tcpip_socket_stream.rb +2 -1
  28. data/lib/cosmos/streams/template_stream_protocol.rb +1 -1
  29. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +1 -1
  30. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +5 -8
  31. data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +4 -3
  32. data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +9 -3
  33. data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +15 -11
  34. data/lib/cosmos/tools/data_viewer/data_viewer.rb +1 -1
  35. data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +2 -2
  36. data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +2 -2
  37. data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +0 -2
  38. data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +1 -1
  39. data/lib/cosmos/tools/replay/replay.rb +2 -2
  40. data/lib/cosmos/tools/script_runner/script_audit.rb +1 -1
  41. data/lib/cosmos/tools/script_runner/script_runner.rb +1 -1
  42. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +3 -7
  43. data/lib/cosmos/tools/table_manager/table_config.rb +1 -1
  44. data/lib/cosmos/tools/test_runner/results_writer.rb +1 -1
  45. data/lib/cosmos/tools/test_runner/test_runner.rb +2 -2
  46. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +2 -1
  47. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +1 -1
  48. data/lib/cosmos/tools/tlm_grapher/data_object_adders/xy_data_object_adder.rb +1 -0
  49. data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +1 -0
  50. data/lib/cosmos/tools/tlm_grapher/data_object_editors/xy_data_object_editor.rb +1 -0
  51. data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +3 -3
  52. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +1 -3
  53. data/lib/cosmos/top_level.rb +2 -6
  54. data/lib/cosmos/utilities/ruby_lex_utils.rb +1 -1
  55. data/lib/cosmos/version.rb +5 -5
  56. data/lib/cosmos/win32/win32_main.rb +11 -7
  57. data/spec/ccsds/ccsds_packet_spec.rb +28 -28
  58. data/spec/ccsds/ccsds_parser_spec.rb +27 -27
  59. data/spec/config/config_parser_spec.rb +88 -88
  60. data/spec/conversions/conversion_spec.rb +3 -3
  61. data/spec/conversions/generic_conversion_spec.rb +9 -9
  62. data/spec/conversions/new_packet_log_conversion_spec.rb +4 -4
  63. data/spec/conversions/polynomial_conversion_spec.rb +7 -7
  64. data/spec/conversions/processor_conversion_spec.rb +9 -9
  65. data/spec/conversions/received_count_conversion_spec.rb +7 -7
  66. data/spec/conversions/received_time_formatted_conversion_spec.rb +9 -9
  67. data/spec/conversions/received_time_seconds_conversion_spec.rb +9 -9
  68. data/spec/conversions/segmented_polynomial_conversion_spec.rb +11 -11
  69. data/spec/conversions/unix_time_formatted_conversion_spec.rb +13 -13
  70. data/spec/conversions/unix_time_seconds_conversion_spec.rb +13 -13
  71. data/spec/core_ext/array_spec.rb +76 -76
  72. data/spec/core_ext/class_spec.rb +3 -3
  73. data/spec/core_ext/cosmos_io_spec.rb +16 -16
  74. data/spec/core_ext/exception_spec.rb +19 -19
  75. data/spec/core_ext/file_spec.rb +16 -16
  76. data/spec/core_ext/hash_spec.rb +3 -3
  77. data/spec/core_ext/io_spec.rb +2 -2
  78. data/spec/core_ext/kernel_spec.rb +2 -2
  79. data/spec/core_ext/math_spec.rb +43 -43
  80. data/spec/core_ext/matrix_spec.rb +22 -22
  81. data/spec/core_ext/objectspace_spec.rb +6 -6
  82. data/spec/core_ext/range_spec.rb +2 -2
  83. data/spec/core_ext/socket_spec.rb +4 -4
  84. data/spec/core_ext/string_spec.rb +67 -67
  85. data/spec/core_ext/stringio_spec.rb +2 -2
  86. data/spec/core_ext/time_spec.rb +82 -82
  87. data/spec/gui/line_graph/line_clip_spec.rb +34 -34
  88. data/spec/interfaces/interface_spec.rb +46 -46
  89. data/spec/interfaces/linc_interface_spec.rb +26 -26
  90. data/spec/interfaces/serial_interface_spec.rb +16 -16
  91. data/spec/interfaces/simulated_target_interface_spec.rb +21 -21
  92. data/spec/interfaces/stream_interface_spec.rb +22 -22
  93. data/spec/interfaces/tcpip_client_interface_spec.rb +14 -14
  94. data/spec/interfaces/tcpip_server_interface_spec.rb +41 -41
  95. data/spec/interfaces/udp_interface_spec.rb +46 -46
  96. data/spec/io/buffered_file_spec.rb +50 -50
  97. data/spec/io/io_multiplexer_spec.rb +9 -9
  98. data/spec/io/json_drb_object_spec.rb +7 -7
  99. data/spec/io/json_drb_spec.rb +55 -55
  100. data/spec/io/json_rpc_spec.rb +68 -68
  101. data/spec/io/raw_logger_pair_spec.rb +28 -28
  102. data/spec/io/raw_logger_spec.rb +22 -22
  103. data/spec/io/serial_driver_spec.rb +3 -3
  104. data/spec/io/stderr_spec.rb +2 -2
  105. data/spec/io/stdout_spec.rb +2 -2
  106. data/spec/io/tcpip_server_spec.rb +62 -62
  107. data/spec/io/udp_sockets_spec.rb +19 -19
  108. data/spec/io/win32_serial_driver_spec.rb +10 -10
  109. data/spec/packet_logs/meta_packet_log_writer_spec.rb +32 -32
  110. data/spec/packet_logs/packet_log_reader_spec.rb +138 -138
  111. data/spec/packet_logs/packet_log_writer_pair_spec.rb +3 -3
  112. data/spec/packet_logs/packet_log_writer_spec.rb +26 -26
  113. data/spec/packets/binary_accessor_spec.rb +672 -672
  114. data/spec/packets/commands_spec.rb +123 -123
  115. data/spec/packets/limits_response_spec.rb +1 -1
  116. data/spec/packets/limits_spec.rb +69 -69
  117. data/spec/packets/packet_config_spec.rb +93 -93
  118. data/spec/packets/packet_item_limits_spec.rb +46 -46
  119. data/spec/packets/packet_item_spec.rb +108 -108
  120. data/spec/packets/packet_spec.rb +364 -348
  121. data/spec/packets/parsers/format_string_parser_spec.rb +13 -13
  122. data/spec/packets/parsers/limits_parser_spec.rb +8 -8
  123. data/spec/packets/parsers/limits_response_parser_spec.rb +9 -9
  124. data/spec/packets/parsers/macro_parser_spec.rb +34 -6
  125. data/spec/packets/parsers/packet_parser_spec.rb +6 -6
  126. data/spec/packets/parsers/processor_parser_spec.rb +7 -7
  127. data/spec/packets/parsers/state_parser_spec.rb +23 -23
  128. data/spec/packets/structure_item_spec.rb +62 -62
  129. data/spec/packets/structure_spec.rb +183 -183
  130. data/spec/packets/telemetry_spec.rb +174 -174
  131. data/spec/processors/new_packet_log_processor_spec.rb +4 -4
  132. data/spec/processors/processor_spec.rb +9 -9
  133. data/spec/processors/statistics_processor_spec.rb +21 -21
  134. data/spec/processors/watermark_processor_spec.rb +12 -12
  135. data/spec/script/script_spec.rb +158 -158
  136. data/spec/spec_helper.rb +44 -13
  137. data/spec/streams/burst_stream_protocol_spec.rb +8 -8
  138. data/spec/streams/fixed_stream_protocol_spec.rb +26 -26
  139. data/spec/streams/length_stream_protocol_spec.rb +27 -27
  140. data/spec/streams/preidentified_stream_protocol_spec.rb +25 -25
  141. data/spec/streams/serial_stream_spec.rb +19 -19
  142. data/spec/streams/stream_protocol_spec.rb +52 -52
  143. data/spec/streams/stream_spec.rb +1 -1
  144. data/spec/streams/tcpip_client_stream_spec.rb +7 -7
  145. data/spec/streams/tcpip_socket_stream_spec.rb +84 -49
  146. data/spec/streams/template_stream_protocol_spec.rb +17 -17
  147. data/spec/streams/terminated_stream_protocol_spec.rb +19 -19
  148. data/spec/system/system_spec.rb +95 -95
  149. data/spec/system/target_spec.rb +32 -32
  150. data/spec/tools/cmd_tlm_server/api_spec.rb +386 -386
  151. data/spec/tools/cmd_tlm_server/background_task_spec.rb +3 -3
  152. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +8 -8
  153. data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +57 -57
  154. data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +85 -85
  155. data/spec/tools/cmd_tlm_server/commanding_spec.rb +11 -11
  156. data/spec/tools/cmd_tlm_server/connections_spec.rb +23 -23
  157. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +57 -57
  158. data/spec/tools/cmd_tlm_server/interfaces_spec.rb +32 -32
  159. data/spec/tools/cmd_tlm_server/packet_logging_spec.rb +17 -17
  160. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +15 -15
  161. data/spec/tools/cmd_tlm_server/routers_spec.rb +36 -36
  162. data/spec/top_level/top_level_spec.rb +60 -60
  163. data/spec/utilities/crc_spec.rb +6 -6
  164. data/spec/utilities/csv_spec.rb +13 -13
  165. data/spec/utilities/logger_spec.rb +20 -20
  166. data/spec/utilities/message_log_spec.rb +13 -13
  167. data/spec/utilities/quaternion_spec.rb +30 -30
  168. data/spec/utilities/ruby_lex_utils_spec.rb +14 -14
  169. data/test/benchmarks/binary_accessor_benchmark.rb +14 -0
  170. data/test/benchmarks/gsub_benchmark.rb +114 -0
  171. data/test/performance/PACKETS.bat +1 -0
  172. data/test/performance/Rakefile +77 -0
  173. data/test/performance/THREADS.bat +1 -0
  174. data/test/performance/config/data/attitude.bin +0 -0
  175. data/test/performance/config/data/crc.txt +206 -0
  176. data/test/performance/config/data/diamond.STL +58 -0
  177. data/test/performance/config/data/groundoff.gif +0 -0
  178. data/test/performance/config/data/groundon.gif +0 -0
  179. data/test/performance/config/data/hselectoff.gif +0 -0
  180. data/test/performance/config/data/hselecton.gif +0 -0
  181. data/test/performance/config/data/hswitchoff.gif +0 -0
  182. data/test/performance/config/data/hswitchon.gif +0 -0
  183. data/test/performance/config/data/meta_init.txt +4 -0
  184. data/test/performance/config/data/position.bin +0 -0
  185. data/test/performance/config/data/poweroff.gif +0 -0
  186. data/test/performance/config/data/poweron.gif +0 -0
  187. data/test/performance/config/data/satellite.gif +0 -0
  188. data/test/performance/config/data/tada.wav +0 -0
  189. data/test/performance/config/data/vswitchoff.gif +0 -0
  190. data/test/performance/config/data/vswitchon.gif +0 -0
  191. data/test/performance/config/system/system_packets.txt +39 -0
  192. data/test/performance/config/system/system_threads.txt +59 -0
  193. data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +41 -0
  194. data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +15 -0
  195. data/test/performance/config/targets/COSMOS/cmd_tlm_server.txt +6 -0
  196. data/test/performance/config/targets/COSMOS/screens/limits_change.txt +20 -0
  197. data/test/performance/config/targets/COSMOS/screens/version.txt +19 -0
  198. data/test/performance/config/targets/COSMOS/target.txt +11 -0
  199. data/test/performance/config/targets/EXAMPLE/cmd_tlm/example_cmds.txt +17 -0
  200. data/test/performance/config/targets/EXAMPLE/cmd_tlm/example_tlm.txt +18 -0
  201. data/test/performance/config/targets/EXAMPLE/cmd_tlm_server.txt +6 -0
  202. data/test/performance/config/targets/EXAMPLE/lib/example_interface.rb +22 -0
  203. data/test/performance/config/targets/EXAMPLE/target.txt +7 -0
  204. data/test/performance/config/targets/SYSTEM/screens/status.txt +12 -0
  205. data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_packets.txt +34 -0
  206. data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_threads.txt +68 -0
  207. data/test/performance/config/tools/data_viewer/data_viewer.txt +11 -0
  208. data/test/performance/config/tools/handbook_creator/default_toc.xsl +59 -0
  209. data/test/performance/config/tools/handbook_creator/handbook_creator.txt +66 -0
  210. data/test/performance/config/tools/handbook_creator/templates/command_packets.html.erb +86 -0
  211. data/test/performance/config/tools/handbook_creator/templates/command_toc.html.erb +38 -0
  212. data/test/performance/config/tools/handbook_creator/templates/footer.html.erb +9 -0
  213. data/test/performance/config/tools/handbook_creator/templates/header.html.erb +25 -0
  214. data/test/performance/config/tools/handbook_creator/templates/limits_groups.html.erb +13 -0
  215. data/test/performance/config/tools/handbook_creator/templates/nav.html.erb +27 -0
  216. data/test/performance/config/tools/handbook_creator/templates/overview.html.erb +1 -0
  217. data/test/performance/config/tools/handbook_creator/templates/pdf_cover.html.erb +23 -0
  218. data/test/performance/config/tools/handbook_creator/templates/pdf_footer.html.erb +33 -0
  219. data/test/performance/config/tools/handbook_creator/templates/pdf_header.html.erb +41 -0
  220. data/test/performance/config/tools/handbook_creator/templates/telemetry_packets.html.erb +80 -0
  221. data/test/performance/config/tools/handbook_creator/templates/telemetry_toc.html.erb +38 -0
  222. data/test/performance/config/tools/handbook_creator/templates/title.html.erb +1 -0
  223. data/test/performance/config/tools/launcher/launcher_packets.txt +29 -0
  224. data/test/performance/config/tools/launcher/launcher_threads.txt +70 -0
  225. data/test/performance/config/tools/limits_monitor/README.txt +1 -0
  226. data/test/performance/config/tools/opengl_builder/README.txt +1 -0
  227. data/test/performance/config/tools/script_runner/script_runner.txt +3 -0
  228. data/test/performance/config/tools/table_manager/ConfigTables_def.txt +8 -0
  229. data/test/performance/config/tools/table_manager/ExampleTableDefinition.txt +24 -0
  230. data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +25 -0
  231. data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +25 -0
  232. data/test/performance/config/tools/table_manager/PPSSelectionTable_def.txt +8 -0
  233. data/test/performance/config/tools/table_manager/TLMMonitoringTable_def.txt +248 -0
  234. data/test/performance/config/tools/test_runner/test_runner.txt +17 -0
  235. data/test/performance/config/tools/tlm_extractor/tlm_extractor.txt +13 -0
  236. data/test/performance/config/tools/tlm_extractor/tlm_extractor2.txt +2 -0
  237. data/test/performance/config/tools/tlm_extractor/tlm_extractor3.txt +2 -0
  238. data/test/performance/config/tools/tlm_extractor/tlm_extractor4.txt +2 -0
  239. data/test/performance/config/tools/tlm_grapher/README.txt +1 -0
  240. data/test/performance/config/tools/tlm_viewer/tlm_viewer.txt +41 -0
  241. data/test/performance/lib/example_background_task.rb +57 -0
  242. data/test/performance/lib/example_target.rb +120 -0
  243. data/test/performance/lib/scpi_target.rb +74 -0
  244. data/test/performance/lib/user_version.rb +3 -0
  245. data/test/performance/outputs/handbooks/README.txt +1 -0
  246. data/test/performance/outputs/logs/README.txt +1 -0
  247. data/test/performance/outputs/saved_config/README.txt +1 -0
  248. data/test/performance/outputs/tables/README.txt +1 -0
  249. data/test/performance/outputs/tmp/README.txt +1 -0
  250. data/test/performance/procedures/checks.rb +11 -0
  251. data/test/performance/procedures/clear_util.rb +7 -0
  252. data/test/performance/procedures/collect.rb +18 -0
  253. data/test/performance/procedures/collect_util.rb +14 -0
  254. data/test/performance/procedures/cosmos_api_test.rb +293 -0
  255. data/test/performance/procedures/disconnect.rb +29 -0
  256. data/test/performance/procedures/example_test.rb +182 -0
  257. data/test/performance/procedures/plot_test.rb +8 -0
  258. data/test/performance/procedures/procedure.rb +3 -0
  259. data/test/performance/procedures/run_example_test.rb +3 -0
  260. data/test/performance/procedures/test.rb +51 -0
  261. data/test/performance/tools/CmdExtractor +14 -0
  262. data/test/performance/tools/CmdExtractor.bat +59 -0
  263. data/test/performance/tools/CmdSender +14 -0
  264. data/test/performance/tools/CmdSender.bat +59 -0
  265. data/test/performance/tools/CmdTlmServer +16 -0
  266. data/test/performance/tools/CmdTlmServer.bat +59 -0
  267. data/test/performance/tools/CmdTlmServerMemProf +20 -0
  268. data/test/performance/tools/CmdTlmServerMemProf.bat +59 -0
  269. data/test/performance/tools/DataViewer +14 -0
  270. data/test/performance/tools/DataViewer.bat +59 -0
  271. data/test/performance/tools/ExampleTarget +14 -0
  272. data/test/performance/tools/ExampleTarget.bat +59 -0
  273. data/test/performance/tools/HandbookCreator +14 -0
  274. data/test/performance/tools/HandbookCreator.bat +61 -0
  275. data/test/performance/tools/Launcher +14 -0
  276. data/test/performance/tools/Launcher.bat +59 -0
  277. data/test/performance/tools/LimitsMonitor +14 -0
  278. data/test/performance/tools/LimitsMonitor.bat +59 -0
  279. data/test/performance/tools/OpenGLBuilder +14 -0
  280. data/test/performance/tools/OpenGLBuilder.bat +59 -0
  281. data/test/performance/tools/PacketViewer +14 -0
  282. data/test/performance/tools/PacketViewer.bat +59 -0
  283. data/test/performance/tools/Replay +14 -0
  284. data/test/performance/tools/Replay.bat +59 -0
  285. data/test/performance/tools/ScpiTarget +14 -0
  286. data/test/performance/tools/ScpiTarget.bat +59 -0
  287. data/test/performance/tools/ScriptRunner +14 -0
  288. data/test/performance/tools/ScriptRunner.bat +59 -0
  289. data/test/performance/tools/TableManager +14 -0
  290. data/test/performance/tools/TableManager.bat +59 -0
  291. data/test/performance/tools/TestRunner +14 -0
  292. data/test/performance/tools/TestRunner.bat +59 -0
  293. data/test/performance/tools/TlmExtractor +14 -0
  294. data/test/performance/tools/TlmExtractor.bat +59 -0
  295. data/test/performance/tools/TlmGrapher +14 -0
  296. data/test/performance/tools/TlmGrapher.bat +59 -0
  297. data/test/performance/tools/TlmViewer +14 -0
  298. data/test/performance/tools/TlmViewer.bat +59 -0
  299. data/test/performance/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
  300. data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +15 -0
  301. data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +6 -0
  302. data/test/performance/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
  303. data/test/performance/tools/mac/CmdSender.app/Contents/Info.plist +38 -0
  304. data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +15 -0
  305. data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/main.sh +6 -0
  306. data/test/performance/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -0
  307. data/test/performance/tools/mac/CmdTlmServer.app/Contents/Info.plist +38 -0
  308. data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +15 -0
  309. data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +6 -0
  310. data/test/performance/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
  311. data/test/performance/tools/mac/DataViewer.app/Contents/Info.plist +38 -0
  312. data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +15 -0
  313. data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/main.sh +6 -0
  314. data/test/performance/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
  315. data/test/performance/tools/mac/HandbookCreator.app/Contents/Info.plist +38 -0
  316. data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +15 -0
  317. data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +6 -0
  318. data/test/performance/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
  319. data/test/performance/tools/mac/Launcher.app/Contents/Info.plist +38 -0
  320. data/test/performance/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +15 -0
  321. data/test/performance/tools/mac/Launcher.app/Contents/MacOS/main.sh +6 -0
  322. data/test/performance/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
  323. data/test/performance/tools/mac/LimitsMonitor.app/Contents/Info.plist +38 -0
  324. data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +15 -0
  325. data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +6 -0
  326. data/test/performance/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
  327. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Info.plist +38 -0
  328. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +15 -0
  329. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +6 -0
  330. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
  331. data/test/performance/tools/mac/PacketViewer.app/Contents/Info.plist +38 -0
  332. data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +15 -0
  333. data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +6 -0
  334. data/test/performance/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
  335. data/test/performance/tools/mac/Replay.app/Contents/Info.plist +38 -0
  336. data/test/performance/tools/mac/Replay.app/Contents/MacOS/Replay.rb +15 -0
  337. data/test/performance/tools/mac/Replay.app/Contents/MacOS/main.sh +6 -0
  338. data/test/performance/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
  339. data/test/performance/tools/mac/ScriptRunner.app/Contents/Info.plist +38 -0
  340. data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +15 -0
  341. data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +6 -0
  342. data/test/performance/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
  343. data/test/performance/tools/mac/TableManager.app/Contents/Info.plist +38 -0
  344. data/test/performance/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +15 -0
  345. data/test/performance/tools/mac/TableManager.app/Contents/MacOS/main.sh +6 -0
  346. data/test/performance/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
  347. data/test/performance/tools/mac/TestRunner.app/Contents/Info.plist +38 -0
  348. data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +15 -0
  349. data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/main.sh +6 -0
  350. data/test/performance/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
  351. data/test/performance/tools/mac/TlmExtractor.app/Contents/Info.plist +38 -0
  352. data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +15 -0
  353. data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +6 -0
  354. data/test/performance/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
  355. data/test/performance/tools/mac/TlmGrapher.app/Contents/Info.plist +38 -0
  356. data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +15 -0
  357. data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +6 -0
  358. data/test/performance/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
  359. data/test/performance/tools/mac/TlmViewer.app/Contents/Info.plist +38 -0
  360. data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +15 -0
  361. data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +6 -0
  362. data/test/performance/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
  363. data/test/performance/userpath.txt +1 -0
  364. metadata +197 -2
@@ -17,177 +17,177 @@ module Cosmos
17
17
  describe StructureItem do
18
18
 
19
19
  describe "name=" do
20
- it "should create new structure items" do
21
- StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, nil).name.should eql "TEST"
20
+ it "creates new structure items" do
21
+ expect(StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, nil).name).to eql "TEST"
22
22
  end
23
23
 
24
- it "should complain about non String names" do
24
+ it "complains about non String names" do
25
25
  expect { StructureItem.new(nil, 0, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "name must be a String but is a NilClass")
26
26
  expect { StructureItem.new(5, 0, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "name must be a String but is a Fixnum")
27
27
  end
28
28
 
29
- it "should complain about blank names" do
29
+ it "complains about blank names" do
30
30
  expect { StructureItem.new("", 0, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "name must contain at least one character")
31
31
  end
32
32
  end
33
33
 
34
34
  describe "endianness=" do
35
- it "should accept BIG_ENDIAN and LITTLE_ENDIAN" do
36
- StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, nil).endianness.should eql :BIG_ENDIAN
37
- StructureItem.new("test", 0, 8, :UINT, :LITTLE_ENDIAN, nil).endianness.should eql :LITTLE_ENDIAN
35
+ it "accepts BIG_ENDIAN and LITTLE_ENDIAN" do
36
+ expect(StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, nil).endianness).to eql :BIG_ENDIAN
37
+ expect(StructureItem.new("test", 0, 8, :UINT, :LITTLE_ENDIAN, nil).endianness).to eql :LITTLE_ENDIAN
38
38
  end
39
39
 
40
- it "should complain about bad endianness" do
40
+ it "complains about bad endianness" do
41
41
  expect { StructureItem.new("test", 0, 8, :UINT, :BLAH, nil) }.to raise_error(ArgumentError, "TEST: unknown endianness: BLAH - Must be :BIG_ENDIAN or :LITTLE_ENDIAN")
42
42
  end
43
43
  end
44
44
 
45
45
  describe "data_type=" do
46
- it "should accept INT, UINT, FLOAT, STRING, BLOCK, and DERIVED data types" do
46
+ it "accepts INT, UINT, FLOAT, STRING, BLOCK, and DERIVED data types" do
47
47
  %w(INT UINT FLOAT STRING BLOCK).each do |type|
48
- StructureItem.new("test", 0, 32, type.to_sym, :BIG_ENDIAN, nil).data_type.should eql type.to_sym
48
+ expect(StructureItem.new("test", 0, 32, type.to_sym, :BIG_ENDIAN, nil).data_type).to eql type.to_sym
49
49
  end
50
- StructureItem.new("test", 0, 0, :DERIVED, :BIG_ENDIAN, nil).data_type.should eql :DERIVED
50
+ expect(StructureItem.new("test", 0, 0, :DERIVED, :BIG_ENDIAN, nil).data_type).to eql :DERIVED
51
51
  end
52
52
 
53
- it "should complain about bad data types" do
53
+ it "complains about bad data types" do
54
54
  expect { StructureItem.new("test", 0, 0, :UNKNOWN, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: unknown data_type: UNKNOWN - Must be :INT, :UINT, :FLOAT, :STRING, :BLOCK, or :DERIVED")
55
55
  end
56
56
  end
57
57
 
58
58
  describe "overflow=" do
59
- it "should accept ERROR, ERROR_ALLOW_HEX, TRUNCATE and SATURATE overflow types" do
59
+ it "accepts ERROR, ERROR_ALLOW_HEX, TRUNCATE and SATURATE overflow types" do
60
60
  %w(ERROR ERROR_ALLOW_HEX TRUNCATE SATURATE).each do |type|
61
- StructureItem.new("test", 0, 32, :INT, :BIG_ENDIAN, nil, type.to_sym).overflow.should eql type.to_sym
61
+ expect(StructureItem.new("test", 0, 32, :INT, :BIG_ENDIAN, nil, type.to_sym).overflow).to eql type.to_sym
62
62
  end
63
63
  end
64
64
 
65
- it "should complain about bad overflow types" do
65
+ it "complains about bad overflow types" do
66
66
  expect { StructureItem.new("test", 0, 32, :INT, :BIG_ENDIAN, nil, :UNKNOWN) }.to raise_error(ArgumentError, "TEST: unknown overflow type: UNKNOWN - Must be :ERROR, :ERROR_ALLOW_HEX, :TRUNCATE, or :SATURATE")
67
67
  end
68
68
  end
69
69
 
70
70
  describe "bit_offset=" do
71
- it "should compain about bad bit offsets types" do
71
+ it "compains about bad bit offsets types" do
72
72
  expect { StructureItem.new("test", nil, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_offset must be a Fixnum")
73
73
  end
74
74
 
75
- it "should complain about unaligned bit offsets" do
75
+ it "complains about unaligned bit offsets" do
76
76
  %w(FLOAT STRING BLOCK).each do |type|
77
77
  expect { StructureItem.new("test", 1, 32, type.to_sym, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_offset for :FLOAT, :STRING, and :BLOCK items must be byte aligned")
78
78
  end
79
79
  end
80
80
 
81
- it "should complain about non zero DERIVED bit offsets" do
81
+ it "complains about non zero DERIVED bit offsets" do
82
82
  expect { StructureItem.new("test", 8, 0, :DERIVED, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: DERIVED items must have bit_offset of zero")
83
83
  end
84
84
  end
85
85
 
86
86
  describe "bit_size=" do
87
- it "should complain about bad bit sizes types" do
87
+ it "complains about bad bit sizes types" do
88
88
  expect { StructureItem.new("test", 0, nil, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_size must be a Fixnum")
89
89
  end
90
90
 
91
- it "should complain about 0 size INT, UINT, and FLOAT" do
91
+ it "complains about 0 size INT, UINT, and FLOAT" do
92
92
  %w(INT UINT FLOAT).each do |type|
93
93
  expect { StructureItem.new("test", 0, 0, type.to_sym, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_size cannot be negative or zero for :INT, :UINT, and :FLOAT items: 0")
94
94
  end
95
95
  end
96
96
 
97
- it "should complain about bad float bit sizes" do
97
+ it "complains about bad float bit sizes" do
98
98
  expect { StructureItem.new("test", 0, 8, :FLOAT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_size for FLOAT items must be 32 or 64. Given: 8")
99
99
  end
100
100
 
101
- it "should create 32 and 64 bit floats" do
102
- StructureItem.new("test", 0, 32, :FLOAT, :BIG_ENDIAN, nil).bit_size.should eql 32
103
- StructureItem.new("test", 0, 64, :FLOAT, :BIG_ENDIAN, nil).bit_size.should eql 64
101
+ it "creates 32 and 64 bit floats" do
102
+ expect(StructureItem.new("test", 0, 32, :FLOAT, :BIG_ENDIAN, nil).bit_size).to eql 32
103
+ expect(StructureItem.new("test", 0, 64, :FLOAT, :BIG_ENDIAN, nil).bit_size).to eql 64
104
104
  end
105
105
 
106
- it "should complain about non zero DERIVED bit sizes" do
106
+ it "complains about non zero DERIVED bit sizes" do
107
107
  expect { StructureItem.new("test", 0, 8, :DERIVED, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: DERIVED items must have bit_size of zero")
108
108
  end
109
109
  end
110
110
 
111
111
  describe "array_size=" do
112
- it "should complain about bad array size types" do
112
+ it "complains about bad array size types" do
113
113
  expect { StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, "") }.to raise_error(ArgumentError, "TEST: array_size must be a Fixnum")
114
114
  end
115
115
 
116
- it "should complain about array size != multiple of bit size" do
116
+ it "complains about array size != multiple of bit size" do
117
117
  expect { StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, 10) }.to raise_error(ArgumentError, "TEST: array_size must be a multiple of bit_size")
118
118
  end
119
119
 
120
- it "should not complain about array size != multiple of bit size with negative array size" do
120
+ it "does not complain about array size != multiple of bit size with negative array size" do
121
121
  expect { StructureItem.new("test", 0, 32, :UINT, :BIG_ENDIAN, -8) }.not_to raise_error
122
122
  end
123
123
  end
124
124
 
125
125
  describe "<=>" do
126
- it "should sort items according to positive bit offset" do
126
+ it "sorts items according to positive bit offset" do
127
127
  si1 = StructureItem.new("si1", 0, 8, :UINT, :BIG_ENDIAN, nil)
128
128
  si2 = StructureItem.new("si2", 8, 8, :UINT, :BIG_ENDIAN, nil)
129
- (si1 < si2).should be_truthy
130
- (si1 == si2).should be_falsey
131
- (si1 > si2).should be_falsey
129
+ expect(si1 < si2).to be_truthy
130
+ expect(si1 == si2).to be_falsey
131
+ expect(si1 > si2).to be_falsey
132
132
 
133
133
  si2 = StructureItem.new("si2", 0, 8, :UINT, :BIG_ENDIAN, nil)
134
- (si1 < si2).should be_falsey
135
- (si1 == si2).should be_truthy
136
- (si1 > si2).should be_falsey
134
+ expect(si1 < si2).to be_falsey
135
+ expect(si1 == si2).to be_truthy
136
+ expect(si1 > si2).to be_falsey
137
137
  end
138
138
 
139
- it "should sort items with 0 bit offset according to bit size" do
139
+ it "sorts items with 0 bit offset according to bit size" do
140
140
  si1 = StructureItem.new("si1", 0, 8, :UINT, :BIG_ENDIAN, nil)
141
141
  si2 = StructureItem.new("si2", 0, 0, :BLOCK, :BIG_ENDIAN, nil)
142
- (si1 < si2).should be_falsey
143
- (si1 == si2).should be_falsey
144
- (si1 > si2).should be_truthy
142
+ expect(si1 < si2).to be_falsey
143
+ expect(si1 == si2).to be_falsey
144
+ expect(si1 > si2).to be_truthy
145
145
  end
146
146
 
147
- it "should sort items according to negative bit offset" do
147
+ it "sorts items according to negative bit offset" do
148
148
  si1 = StructureItem.new("si1", -8, 8, :UINT, :BIG_ENDIAN, nil)
149
149
  si2 = StructureItem.new("si2", -16, 8, :UINT, :BIG_ENDIAN, nil)
150
- (si1 < si2).should be_falsey
151
- (si1 == si2).should be_falsey
152
- (si1 > si2).should be_truthy
150
+ expect(si1 < si2).to be_falsey
151
+ expect(si1 == si2).to be_falsey
152
+ expect(si1 > si2).to be_truthy
153
153
 
154
154
  si2 = StructureItem.new("si2", -8, 8, :UINT, :BIG_ENDIAN, nil)
155
- (si1 < si2).should be_falsey
155
+ expect(si1 < si2).to be_falsey
156
156
  # si1 == si2 even though they have different names and sizes
157
- (si1 == si2).should be_truthy
158
- (si1 > si2).should be_falsey
157
+ expect(si1 == si2).to be_truthy
158
+ expect(si1 > si2).to be_falsey
159
159
  end
160
160
 
161
- it "should sort items according to mixed bit offset" do
161
+ it "sorts items according to mixed bit offset" do
162
162
  si1 = StructureItem.new("si1", 16, 8, :UINT, :BIG_ENDIAN, nil)
163
163
  si2 = StructureItem.new("si2", -8, 8, :UINT, :BIG_ENDIAN, nil)
164
- (si1 < si2).should be_truthy
165
- (si1 == si2).should be_falsey
166
- (si1 > si2).should be_falsey
164
+ expect(si1 < si2).to be_truthy
165
+ expect(si1 == si2).to be_falsey
166
+ expect(si1 > si2).to be_falsey
167
167
  end
168
168
  end
169
169
 
170
170
  describe "clone" do
171
- it "should duplicate the entire structure item " do
171
+ it "duplicates the entire structure item " do
172
172
  si1 = StructureItem.new("si1", -8, 1, :UINT, :LITTLE_ENDIAN, nil)
173
173
  si2 = si1.clone
174
- (si1 == si2).should be_truthy
174
+ expect(si1 == si2).to be_truthy
175
175
  end
176
176
  end
177
177
 
178
178
  describe "to_hash" do
179
- it "should create a Hash" do
179
+ it "creates a Hash" do
180
180
  item = StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, 16)
181
181
  hash = item.to_hash
182
- hash.keys.length.should eql 7
183
- hash.keys.should include('name','bit_offset','bit_size','data_type','endianness','array_size', 'overflow')
184
- hash["name"].should eql "TEST"
185
- hash["bit_offset"].should eql 0
186
- hash["bit_size"].should eql 8
187
- hash["data_type"].should eql :UINT
188
- hash["endianness"].should eql :BIG_ENDIAN
189
- hash["array_size"].should eql 16
190
- hash["overflow"].should eql :ERROR
182
+ expect(hash.keys.length).to eql 7
183
+ expect(hash.keys).to include('name','bit_offset','bit_size','data_type','endianness','array_size', 'overflow')
184
+ expect(hash["name"]).to eql "TEST"
185
+ expect(hash["bit_offset"]).to eql 0
186
+ expect(hash["bit_size"]).to eql 8
187
+ expect(hash["data_type"]).to eql :UINT
188
+ expect(hash["endianness"]).to eql :BIG_ENDIAN
189
+ expect(hash["array_size"]).to eql 16
190
+ expect(hash["overflow"]).to eql :ERROR
191
191
  end
192
192
  end
193
193
 
@@ -17,20 +17,20 @@ module Cosmos
17
17
  describe Structure do
18
18
 
19
19
  describe "initialize" do
20
- it "should complain about non string buffers" do
20
+ it "complains about non string buffers" do
21
21
  expect { Structure.new(:BIG_ENDIAN, Array.new) }.to raise_error(TypeError, "wrong argument type Array (expected String)")
22
22
  end
23
23
 
24
- it "should complain about unrecognized data types" do
24
+ it "complains about unrecognized data types" do
25
25
  expect { Structure.new(:BLAH) }.to raise_error(ArgumentError, "Unrecognized endianness: BLAH - Must be :BIG_ENDIAN or :LITTLE_ENDIAN")
26
26
  end
27
27
 
28
- it "should create BIG_ENDIAN structures" do
29
- Structure.new(:BIG_ENDIAN).default_endianness.should eql :BIG_ENDIAN
28
+ it "creates BIG_ENDIAN structures" do
29
+ expect(Structure.new(:BIG_ENDIAN).default_endianness).to eql :BIG_ENDIAN
30
30
  end
31
31
 
32
- it "should create LITTLE_ENDIAN structures" do
33
- Structure.new(:LITTLE_ENDIAN).default_endianness.should eql :LITTLE_ENDIAN
32
+ it "creates LITTLE_ENDIAN structures" do
33
+ expect(Structure.new(:LITTLE_ENDIAN).default_endianness).to eql :LITTLE_ENDIAN
34
34
  end
35
35
  end # describe "initialize"
36
36
 
@@ -46,16 +46,16 @@ module Cosmos
46
46
  describe "rename_item" do
47
47
  it "renames a previously defined item" do
48
48
  s = Structure.new
49
- s.items["test1"].should be_nil
50
- s.sorted_items[0].should be_nil
49
+ expect(s.items["test1"]).to be_nil
50
+ expect(s.sorted_items[0]).to be_nil
51
51
  s.define_item("test1", 0, 8, :UINT)
52
- s.items["TEST1"].should_not be_nil
53
- s.sorted_items[0].should_not be_nil
54
- s.sorted_items[0].name.should eql "TEST1"
52
+ expect(s.items["TEST1"]).not_to be_nil
53
+ expect(s.sorted_items[0]).not_to be_nil
54
+ expect(s.sorted_items[0].name).to eql "TEST1"
55
55
  s.rename_item("TEST1", "TEST2")
56
- s.items["TEST1"].should be_nil
57
- s.items["TEST2"].should_not be_nil
58
- s.sorted_items[0].name.should eql "TEST2"
56
+ expect(s.items["TEST1"]).to be_nil
57
+ expect(s.items["TEST2"]).not_to be_nil
58
+ expect(s.sorted_items[0].name).to eql "TEST2"
59
59
  end
60
60
  end
61
61
 
@@ -64,32 +64,32 @@ module Cosmos
64
64
  @s = Structure.new
65
65
  end
66
66
 
67
- it "should add item to items and sorted_items" do
68
- @s.items["test1"].should be_nil
69
- @s.sorted_items[0].should be_nil
67
+ it "adds item to items and sorted_items" do
68
+ expect(@s.items["test1"]).to be_nil
69
+ expect(@s.sorted_items[0]).to be_nil
70
70
  @s.define_item("test1", 0, 8, :UINT)
71
- @s.items["TEST1"].should_not be_nil
72
- @s.sorted_items[0].should_not be_nil
73
- @s.sorted_items[0].name.should eql "TEST1"
74
- @s.defined_length.should eql 1
75
- @s.fixed_size.should be true
71
+ expect(@s.items["TEST1"]).not_to be_nil
72
+ expect(@s.sorted_items[0]).not_to be_nil
73
+ expect(@s.sorted_items[0].name).to eql "TEST1"
74
+ expect(@s.defined_length).to eql 1
75
+ expect(@s.fixed_size).to be true
76
76
  end
77
77
 
78
78
  it "adds items with negative bit offsets" do
79
79
  @s.define_item("test1", -8, 8, :UINT)
80
- @s.defined_length.should eql 1
80
+ expect(@s.defined_length).to eql 1
81
81
  @s.define_item("test2", 0, 4, :UINT)
82
- @s.defined_length.should eql 2
82
+ expect(@s.defined_length).to eql 2
83
83
  @s.define_item("test3", 4, 4, :UINT)
84
- @s.defined_length.should eql 2
84
+ expect(@s.defined_length).to eql 2
85
85
  @s.define_item("test4", 16, 0, :BLOCK)
86
- @s.defined_length.should eql 3
86
+ expect(@s.defined_length).to eql 3
87
87
  @s.define_item("test5", -16, 8, :UINT)
88
- @s.defined_length.should eql 4
89
- @s.fixed_size.should be false
88
+ expect(@s.defined_length).to eql 4
89
+ expect(@s.fixed_size).to be false
90
90
  end
91
91
 
92
- it "should add item with negative offset" do
92
+ it "adds item with negative offset" do
93
93
  expect { @s.define_item("test11", -64, 8, :UINT, 128) }.to raise_error(ArgumentError, "TEST11: Can't define an item with array_size 128 greater than negative bit_offset -64")
94
94
  expect { @s.define_item("test10", -64, 8, :UINT, -64) }.to raise_error(ArgumentError, "TEST10: Can't define an item with negative array_size -64 and negative bit_offset -64")
95
95
  expect { @s.define_item("test9", -64, -64, :BLOCK) }.to raise_error(ArgumentError, "TEST9: Can't define an item with negative bit_size -64 and negative bit_offset -64")
@@ -97,43 +97,43 @@ module Cosmos
97
97
  expect { @s.define_item("test7", 0, 0, :BLOCK, 64) }.to raise_error(ArgumentError, "TEST7: bit_size cannot be negative or zero for array items")
98
98
  expect { @s.define_item("test6", -24, 32, :UINT) }.to raise_error(ArgumentError, "TEST6: Can't define an item with bit_size 32 greater than negative bit_offset -24")
99
99
  @s.define_item("test5", -16, 8, :UINT)
100
- @s.defined_length.should eql 2
100
+ expect(@s.defined_length).to eql 2
101
101
  @s.define_item("test1", -8, 8, :UINT)
102
- @s.defined_length.should eql 2
102
+ expect(@s.defined_length).to eql 2
103
103
  @s.define_item("test2", 0, 4, :UINT)
104
- @s.defined_length.should eql 3
104
+ expect(@s.defined_length).to eql 3
105
105
  @s.define_item("test3", 4, 4, :UINT)
106
- @s.defined_length.should eql 3
106
+ expect(@s.defined_length).to eql 3
107
107
  @s.define_item("test4", 8, 0, :BLOCK)
108
- @s.defined_length.should eql 3
109
- @s.fixed_size.should be false
108
+ expect(@s.defined_length).to eql 3
109
+ expect(@s.fixed_size).to be false
110
110
  end
111
111
 
112
- it "should recalulate sorted_items when adding multiple items" do
112
+ it "recalulates sorted_items when adding multiple items" do
113
113
  @s.define_item("test1", 8, 32, :UINT)
114
- @s.sorted_items[0].name.should eql "TEST1"
115
- @s.defined_length.should eql 5
114
+ expect(@s.sorted_items[0].name).to eql "TEST1"
115
+ expect(@s.defined_length).to eql 5
116
116
  @s.define_item("test2", 0, 8, :UINT)
117
- @s.sorted_items[0].name.should eql "TEST2"
118
- @s.defined_length.should eql 5
117
+ expect(@s.sorted_items[0].name).to eql "TEST2"
118
+ expect(@s.defined_length).to eql 5
119
119
  @s.define_item("test3", 16, 8, :UINT)
120
- @s.sorted_items[-1].name.should eql "TEST3"
121
- @s.defined_length.should eql 5
122
- @s.fixed_size.should be true
120
+ expect(@s.sorted_items[-1].name).to eql "TEST3"
121
+ expect(@s.defined_length).to eql 5
122
+ expect(@s.fixed_size).to be true
123
123
  end
124
124
 
125
- it "should overwrite existing items" do
125
+ it "overwrites existing items" do
126
126
  @s.define_item("test1", 0, 8, :UINT)
127
- @s.sorted_items[0].name.should eql "TEST1"
128
- @s.items["TEST1"].bit_size.should eql 8
129
- @s.items["TEST1"].data_type.should eql :UINT
130
- @s.defined_length.should eql 1
127
+ expect(@s.sorted_items[0].name).to eql "TEST1"
128
+ expect(@s.items["TEST1"].bit_size).to eql 8
129
+ expect(@s.items["TEST1"].data_type).to eql :UINT
130
+ expect(@s.defined_length).to eql 1
131
131
  @s.define_item("test1", 0, 16, :INT)
132
- @s.sorted_items[0].name.should eql "TEST1"
133
- @s.items["TEST1"].bit_size.should eql 16
134
- @s.items["TEST1"].data_type.should eql :INT
135
- @s.defined_length.should eql 2
136
- @s.fixed_size.should be true
132
+ expect(@s.sorted_items[0].name).to eql "TEST1"
133
+ expect(@s.items["TEST1"].bit_size).to eql 16
134
+ expect(@s.items["TEST1"].data_type).to eql :INT
135
+ expect(@s.defined_length).to eql 2
136
+ expect(@s.fixed_size).to be true
137
137
  end
138
138
  end # describe "define_item"
139
139
 
@@ -143,53 +143,53 @@ module Cosmos
143
143
  end
144
144
 
145
145
  it "adds the item to items and sorted_items" do
146
- @s.items["test1"].should be_nil
147
- @s.sorted_items[0].should be_nil
146
+ expect(@s.items["test1"]).to be_nil
147
+ expect(@s.sorted_items[0]).to be_nil
148
148
  si = StructureItem.new("test1",0,8,:UINT,:BIG_ENDIAN)
149
149
  @s.define(si)
150
- @s.items["TEST1"].should_not be_nil
151
- @s.sorted_items[0].should_not be_nil
152
- @s.sorted_items[0].name.should eql "TEST1"
153
- @s.defined_length.should eql 1
154
- @s.fixed_size.should be true
150
+ expect(@s.items["TEST1"]).not_to be_nil
151
+ expect(@s.sorted_items[0]).not_to be_nil
152
+ expect(@s.sorted_items[0].name).to eql "TEST1"
153
+ expect(@s.defined_length).to eql 1
154
+ expect(@s.fixed_size).to be true
155
155
  end
156
156
 
157
157
  it "allows items to be defined on top of each other" do
158
- @s.items["test1"].should be_nil
159
- @s.sorted_items[0].should be_nil
158
+ expect(@s.items["test1"]).to be_nil
159
+ expect(@s.sorted_items[0]).to be_nil
160
160
  si = StructureItem.new("test1",0,8,:UINT,:BIG_ENDIAN)
161
161
  @s.define(si)
162
- @s.sorted_items[0].name.should eql "TEST1"
163
- @s.items["TEST1"].bit_offset.should eql 0
164
- @s.items["TEST1"].bit_size.should eql 8
165
- @s.items["TEST1"].data_type.should eql :UINT
166
- @s.defined_length.should eql 1
162
+ expect(@s.sorted_items[0].name).to eql "TEST1"
163
+ expect(@s.items["TEST1"].bit_offset).to eql 0
164
+ expect(@s.items["TEST1"].bit_size).to eql 8
165
+ expect(@s.items["TEST1"].data_type).to eql :UINT
166
+ expect(@s.defined_length).to eql 1
167
167
  si = StructureItem.new("test2",0,16,:INT,:BIG_ENDIAN)
168
168
  @s.define(si)
169
- @s.sorted_items[1].name.should eql "TEST2"
170
- @s.items["TEST2"].bit_offset.should eql 0
171
- @s.items["TEST2"].bit_size.should eql 16
172
- @s.items["TEST2"].data_type.should eql :INT
173
- @s.defined_length.should eql 2
169
+ expect(@s.sorted_items[1].name).to eql "TEST2"
170
+ expect(@s.items["TEST2"].bit_offset).to eql 0
171
+ expect(@s.items["TEST2"].bit_size).to eql 16
172
+ expect(@s.items["TEST2"].data_type).to eql :INT
173
+ expect(@s.defined_length).to eql 2
174
174
  buffer = "\x01\x02"
175
- @s.read_item(@s.get_item("test1"), :RAW, buffer).should eql 1
176
- @s.read_item(@s.get_item("test2"), :RAW, buffer).should eql 258
175
+ expect(@s.read_item(@s.get_item("test1"), :RAW, buffer)).to eql 1
176
+ expect(@s.read_item(@s.get_item("test2"), :RAW, buffer)).to eql 258
177
177
  end
178
178
 
179
- it "should overwrite existing items" do
179
+ it "overwrites existing items" do
180
180
  si = StructureItem.new("test1",0,8,:UINT,:BIG_ENDIAN)
181
181
  @s.define(si)
182
- @s.sorted_items[0].name.should eql "TEST1"
183
- @s.items["TEST1"].bit_size.should eql 8
184
- @s.items["TEST1"].data_type.should eql :UINT
185
- @s.defined_length.should eql 1
182
+ expect(@s.sorted_items[0].name).to eql "TEST1"
183
+ expect(@s.items["TEST1"].bit_size).to eql 8
184
+ expect(@s.items["TEST1"].data_type).to eql :UINT
185
+ expect(@s.defined_length).to eql 1
186
186
  si = StructureItem.new("test1",0,16,:INT,:BIG_ENDIAN)
187
187
  @s.define(si)
188
- @s.sorted_items[0].name.should eql "TEST1"
189
- @s.items["TEST1"].bit_size.should eql 16
190
- @s.items["TEST1"].data_type.should eql :INT
191
- @s.defined_length.should eql 2
192
- @s.fixed_size.should be true
188
+ expect(@s.sorted_items[0].name).to eql "TEST1"
189
+ expect(@s.items["TEST1"].bit_size).to eql 16
190
+ expect(@s.items["TEST1"].data_type).to eql :INT
191
+ expect(@s.defined_length).to eql 2
192
+ expect(@s.fixed_size).to be true
193
193
  end
194
194
  end
195
195
 
@@ -198,34 +198,34 @@ module Cosmos
198
198
  @s = Structure.new
199
199
  end
200
200
 
201
- it "should append an item to items" do
201
+ it "appends an item to items" do
202
202
  @s.define_item("test1", 0, 8, :UINT)
203
203
  @s.append_item("test2", 16, :UINT)
204
- @s.items["TEST2"].bit_size.should eql 16
205
- @s.sorted_items[0].name.should eql "TEST1"
206
- @s.sorted_items[1].name.should eql "TEST2"
207
- @s.defined_length.should eql 3
204
+ expect(@s.items["TEST2"].bit_size).to eql 16
205
+ expect(@s.sorted_items[0].name).to eql "TEST1"
206
+ expect(@s.sorted_items[1].name).to eql "TEST2"
207
+ expect(@s.defined_length).to eql 3
208
208
  end
209
209
 
210
- it "should append an item after an array item " do
210
+ it "appends an item after an array item " do
211
211
  @s.define_item("test1", 0, 8, :UINT, 16)
212
- @s.items["TEST1"].bit_size.should eql 8
213
- @s.sorted_items[0].name.should eql "TEST1"
214
- @s.sorted_items[1].should be_nil
215
- @s.defined_length.should eql 2
212
+ expect(@s.items["TEST1"].bit_size).to eql 8
213
+ expect(@s.sorted_items[0].name).to eql "TEST1"
214
+ expect(@s.sorted_items[1]).to be_nil
215
+ expect(@s.defined_length).to eql 2
216
216
  @s.append_item("test2", 16, :UINT)
217
- @s.items["TEST2"].bit_size.should eql 16
218
- @s.sorted_items[0].name.should eql "TEST1"
219
- @s.sorted_items[1].name.should eql "TEST2"
220
- @s.defined_length.should eql 4
217
+ expect(@s.items["TEST2"].bit_size).to eql 16
218
+ expect(@s.sorted_items[0].name).to eql "TEST1"
219
+ expect(@s.sorted_items[1].name).to eql "TEST2"
220
+ expect(@s.defined_length).to eql 4
221
221
  end
222
222
 
223
- it "should complain if appending after a variably sized item" do
223
+ it "complains if appending after a variably sized item" do
224
224
  @s.define_item("test1", 0, 0, :BLOCK)
225
225
  expect { @s.append_item("test2", 8, :UINT) }.to raise_error(ArgumentError, "Can't append an item after a variably sized item")
226
226
  end
227
227
 
228
- it "should complain if appending after a variably sized array" do
228
+ it "complains if appending after a variably sized array" do
229
229
  @s.define_item("test1", 0, 8, :UINT, -8)
230
230
  expect { @s.append_item("test2", 8, :UINT) }.to raise_error(ArgumentError, "Can't append an item after a variably sized item")
231
231
  end
@@ -241,13 +241,13 @@ module Cosmos
241
241
  item = StructureItem.new("test2", 0, 16, :UINT, :BIG_ENDIAN)
242
242
  @s.append(item)
243
243
  # Bit offset should change because we appended the item
244
- @s.items["TEST2"].bit_offset.should eql 8
245
- @s.sorted_items[0].name.should eql "TEST1"
246
- @s.sorted_items[1].name.should eql "TEST2"
247
- @s.defined_length.should eql 3
244
+ expect(@s.items["TEST2"].bit_offset).to eql 8
245
+ expect(@s.sorted_items[0].name).to eql "TEST1"
246
+ expect(@s.sorted_items[1].name).to eql "TEST2"
247
+ expect(@s.defined_length).to eql 3
248
248
  end
249
249
 
250
- it "should complain if appending after a variably sized item" do
250
+ it "complains if appending after a variably sized item" do
251
251
  @s.define_item("test1", 0, 0, :BLOCK)
252
252
  expect { @s.append(@item) }.to raise_error(ArgumentError, "Can't append an item after a variably sized item")
253
253
  end
@@ -259,11 +259,11 @@ module Cosmos
259
259
  @s.define_item("test1", 0, 8, :UINT)
260
260
  end
261
261
 
262
- it "should return a defined item" do
263
- @s.get_item("test1").should_not be_nil
262
+ it "returns a defined item" do
263
+ expect(@s.get_item("test1")).not_to be_nil
264
264
  end
265
265
 
266
- it "should complain if an item doesn't exist" do
266
+ it "complains if an item doesn't exist" do
267
267
  expect { @s.get_item("test2") }.to raise_error(ArgumentError, "Unknown item: test2")
268
268
  end
269
269
  end
@@ -274,15 +274,15 @@ module Cosmos
274
274
  @s.define_item("test1", 0, 8, :UINT)
275
275
  end
276
276
 
277
- it "should set a defined item" do
277
+ it "sets a defined item" do
278
278
  item = @s.get_item("test1")
279
- item.bit_size.should eql 8
279
+ expect(item.bit_size).to eql 8
280
280
  item.bit_size = 16
281
281
  @s.set_item(item)
282
- @s.get_item("test1").bit_size.should eql 16
282
+ expect(@s.get_item("test1").bit_size).to eql 16
283
283
  end
284
284
 
285
- it "should complain if an item doesn't exist" do
285
+ it "complains if an item doesn't exist" do
286
286
  item = @s.get_item("test1")
287
287
  item.name = "TEST2"
288
288
  expect { @s.set_item(item) }.to raise_error(ArgumentError, "Unknown item: TEST2 - Ensure item name is uppercase")
@@ -290,92 +290,92 @@ module Cosmos
290
290
  end
291
291
 
292
292
  describe "read_item" do
293
- it "should complain if no buffer given" do
293
+ it "complains if no buffer given" do
294
294
  s = Structure.new
295
295
  s.define_item("test1", 0, 8, :UINT)
296
296
  expect { s.read_item(s.get_item("test1"), :RAW, nil) }.to raise_error(RuntimeError, "No buffer given to read_item")
297
297
  end
298
298
 
299
- it "should read data from the buffer" do
299
+ it "reads data from the buffer" do
300
300
  s = Structure.new
301
301
  s.define_item("test1", 0, 8, :UINT)
302
302
  buffer = "\x01"
303
- s.read_item(s.get_item("test1"), :RAW, buffer).should eql 1
303
+ expect(s.read_item(s.get_item("test1"), :RAW, buffer)).to eql 1
304
304
  end
305
305
 
306
- it "should read array data from the buffer" do
306
+ it "reads array data from the buffer" do
307
307
  s = Structure.new
308
308
  s.define_item("test1", 0, 8, :UINT, 16)
309
309
  buffer = "\x01\x02"
310
- s.read_item(s.get_item("test1"), :RAW, buffer).should eql [1,2]
310
+ expect(s.read_item(s.get_item("test1"), :RAW, buffer)).to eql [1,2]
311
311
  end
312
312
  end
313
313
 
314
314
  describe "write_item" do
315
- it "should complain if no buffer given" do
315
+ it "complains if no buffer given" do
316
316
  expect { Structure.new.write_item(nil, nil, nil, nil) }.to raise_error(RuntimeError, "No buffer given to write_item")
317
317
  end
318
318
 
319
- it "should write data to the buffer" do
319
+ it "writes data to the buffer" do
320
320
  s = Structure.new
321
321
  s.define_item("test1", 0, 8, :UINT)
322
322
  buffer = "\x01"
323
- s.read_item(s.get_item("test1"), :RAW, buffer).should eql 1
323
+ expect(s.read_item(s.get_item("test1"), :RAW, buffer)).to eql 1
324
324
  s.write_item(s.get_item("test1"), 2, :RAW, buffer)
325
- s.read_item(s.get_item("test1"), :RAW, buffer).should eql 2
325
+ expect(s.read_item(s.get_item("test1"), :RAW, buffer)).to eql 2
326
326
  end
327
327
 
328
- it "should write array data to the buffer" do
328
+ it "writes array data to the buffer" do
329
329
  s = Structure.new
330
330
  s.define_item("test1", 0, 8, :UINT, 16)
331
331
  buffer = "\x01\x02"
332
- s.read_item(s.get_item("test1"), :RAW, buffer).should eql [1,2]
332
+ expect(s.read_item(s.get_item("test1"), :RAW, buffer)).to eql [1,2]
333
333
  s.write_item(s.get_item("test1"), [3,4], :RAW, buffer)
334
- s.read_item(s.get_item("test1"), :RAW, buffer).should eql [3,4]
334
+ expect(s.read_item(s.get_item("test1"), :RAW, buffer)).to eql [3,4]
335
335
  end
336
336
  end
337
337
 
338
338
  describe "read" do
339
- it "should complain if item doesn't exist" do
339
+ it "complains if item doesn't exist" do
340
340
  expect { Structure.new.read("BLAH") }.to raise_error(ArgumentError, "Unknown item: BLAH")
341
341
  end
342
342
 
343
- it "should read data from the buffer" do
343
+ it "reads data from the buffer" do
344
344
  s = Structure.new
345
345
  s.define_item("test1", 0, 8, :UINT)
346
346
  buffer = "\x01"
347
- s.read("test1", :RAW, buffer).should eql 1
347
+ expect(s.read("test1", :RAW, buffer)).to eql 1
348
348
  end
349
349
 
350
- it "should read array data from the buffer" do
350
+ it "reads array data from the buffer" do
351
351
  s = Structure.new
352
352
  s.define_item("test1", 0, 8, :UINT, 16)
353
353
  buffer = "\x01\x02"
354
- s.read("test1", :RAW, buffer).should eql [1,2]
354
+ expect(s.read("test1", :RAW, buffer)).to eql [1,2]
355
355
  end
356
356
  end
357
357
 
358
358
  describe "write" do
359
- it "should complain if item doesn't exist" do
359
+ it "complains if item doesn't exist" do
360
360
  expect { Structure.new.write("BLAH", 0) }.to raise_error(ArgumentError, "Unknown item: BLAH")
361
361
  end
362
362
 
363
- it "should write data to the buffer" do
363
+ it "writes data to the buffer" do
364
364
  s = Structure.new
365
365
  s.define_item("test1", 0, 8, :UINT)
366
366
  buffer = "\x01"
367
- s.read("test1", :RAW, buffer).should eql 1
367
+ expect(s.read("test1", :RAW, buffer)).to eql 1
368
368
  s.write("test1", 2, :RAW, buffer)
369
- s.read("test1", :RAW, buffer).should eql 2
369
+ expect(s.read("test1", :RAW, buffer)).to eql 2
370
370
  end
371
371
 
372
- it "should write array data to the buffer" do
372
+ it "writes array data to the buffer" do
373
373
  s = Structure.new
374
374
  s.define_item("test1", 0, 8, :UINT, 16)
375
375
  buffer = "\x01\x02"
376
- s.read("test1", :RAW, buffer).should eql [1,2]
376
+ expect(s.read("test1", :RAW, buffer)).to eql [1,2]
377
377
  s.write("test1", [3,4], :RAW, buffer)
378
- s.read("test1", :RAW, buffer).should eql [3,4]
378
+ expect(s.read("test1", :RAW, buffer)).to eql [3,4]
379
379
  end
380
380
  end
381
381
 
@@ -388,12 +388,12 @@ module Cosmos
388
388
 
389
389
  buffer = "\x01\x02\x03\x04\x05\x06\x07\x08"
390
390
  vals = s.read_all(:RAW, buffer)
391
- vals[0][0].should eql "TEST1"
392
- vals[1][0].should eql "TEST2"
393
- vals[2][0].should eql "TEST3"
394
- vals[0][1].should eql [1,2]
395
- vals[1][1].should eql 0x0304
396
- vals[2][1].should eql 0x05060708
391
+ expect(vals[0][0]).to eql "TEST1"
392
+ expect(vals[1][0]).to eql "TEST2"
393
+ expect(vals[2][0]).to eql "TEST3"
394
+ expect(vals[0][1]).to eql [1,2]
395
+ expect(vals[1][1]).to eql 0x0304
396
+ expect(vals[2][1]).to eql 0x05060708
397
397
  end
398
398
 
399
399
  it "reads all defined items synchronized" do
@@ -404,17 +404,17 @@ module Cosmos
404
404
 
405
405
  buffer = "\x01\x02\x03\x04\x05\x06\x07\x08"
406
406
  vals = s.read_all(:RAW, buffer, false)
407
- vals[0][0].should eql "TEST1"
408
- vals[1][0].should eql "TEST2"
409
- vals[2][0].should eql "TEST3"
410
- vals[0][1].should eql [1,2]
411
- vals[1][1].should eql 0x0304
412
- vals[2][1].should eql 0x05060708
407
+ expect(vals[0][0]).to eql "TEST1"
408
+ expect(vals[1][0]).to eql "TEST2"
409
+ expect(vals[2][0]).to eql "TEST3"
410
+ expect(vals[0][1]).to eql [1,2]
411
+ expect(vals[1][1]).to eql 0x0304
412
+ expect(vals[2][1]).to eql 0x05060708
413
413
  end
414
414
  end
415
415
 
416
416
  describe "formatted" do
417
- it "should print out all the items and values" do
417
+ it "prints out all the items and values" do
418
418
  s = Structure.new(:BIG_ENDIAN)
419
419
  s.append_item("test1", 8, :UINT, 16)
420
420
  s.write("test1", [1,2])
@@ -422,13 +422,13 @@ module Cosmos
422
422
  s.write("test2", 3456)
423
423
  s.append_item("test3", 32, :BLOCK)
424
424
  s.write("test3", "\x07\x08\x09\x0A")
425
- s.formatted.should include("TEST1: [1, 2]")
426
- s.formatted.should include("TEST2: 3456")
427
- s.formatted.should include("TEST3")
428
- s.formatted.should include("00000000: 07 08 09 0A")
425
+ expect(s.formatted).to include("TEST1: [1, 2]")
426
+ expect(s.formatted).to include("TEST2: 3456")
427
+ expect(s.formatted).to include("TEST3")
428
+ expect(s.formatted).to include("00000000: 07 08 09 0A")
429
429
  end
430
430
 
431
- it "should alter the indentation of the item" do
431
+ it "alters the indentation of the item" do
432
432
  s = Structure.new(:BIG_ENDIAN)
433
433
  s.append_item("test1", 8, :UINT, 16)
434
434
  s.write("test1", [1,2])
@@ -436,10 +436,10 @@ module Cosmos
436
436
  s.write("test2", 3456)
437
437
  s.append_item("test3", 32, :BLOCK)
438
438
  s.write("test3", "\x07\x08\x09\x0A")
439
- s.formatted(:CONVERTED, 4).should include(" TEST1: [1, 2]")
440
- s.formatted(:CONVERTED, 4).should include(" TEST2: 3456")
441
- s.formatted(:CONVERTED, 4).should include(" TEST3")
442
- s.formatted(:CONVERTED, 4).should include(" 00000000: 07 08 09 0A")
439
+ expect(s.formatted(:CONVERTED, 4)).to include(" TEST1: [1, 2]")
440
+ expect(s.formatted(:CONVERTED, 4)).to include(" TEST2: 3456")
441
+ expect(s.formatted(:CONVERTED, 4)).to include(" TEST3")
442
+ expect(s.formatted(:CONVERTED, 4)).to include(" 00000000: 07 08 09 0A")
443
443
  end
444
444
  end
445
445
 
@@ -452,35 +452,35 @@ module Cosmos
452
452
  s.write("test2", 0x0304)
453
453
  s.append_item("test3", 32, :UINT)
454
454
  s.write("test3", 0x05060708)
455
- s.buffer.should eql "\x01\x02\x03\x04\x05\x06\x07\x08"
455
+ expect(s.buffer).to eql "\x01\x02\x03\x04\x05\x06\x07\x08"
456
456
  expect(s.buffer).to_not be s.buffer
457
457
  expect(s.buffer(false)).to be s.buffer(false)
458
458
  end
459
459
  end
460
460
 
461
461
  describe "buffer=" do
462
- it "should complain if the given buffer is too small" do
462
+ it "complains if the given buffer is too small" do
463
463
  s = Structure.new(:BIG_ENDIAN)
464
464
  s.append_item("test1", 16, :UINT)
465
465
  expect { s.buffer = "\x00" }.to raise_error(RuntimeError, "Buffer length less than defined length")
466
466
  end
467
467
 
468
- it "should complain if the given buffer is too big" do
468
+ it "complains if the given buffer is too big" do
469
469
  s = Structure.new(:BIG_ENDIAN)
470
470
  s.append_item("test1", 16, :UINT)
471
471
  expect { s.buffer = "\x00\x00\x00" }.to raise_error(RuntimeError, "Buffer length greater than defined length")
472
472
  end
473
473
 
474
- it "shouldn't complain if the given buffer is too big and we're not fixed length" do
474
+ it "does not complain if the given buffer is too big and we're not fixed length" do
475
475
  s = Structure.new(:BIG_ENDIAN)
476
476
  s.append_item("test1", 8, :UINT)
477
477
  s.append_item("test2", 0, :BLOCK)
478
478
  s.buffer = "\x01\x02\x03"
479
- s.read("test1").should eql 1
480
- s.read("test2").should eql "\x02\x03"
479
+ expect(s.read("test1")).to eql 1
480
+ expect(s.read("test2")).to eql "\x02\x03"
481
481
  end
482
482
 
483
- it "should set the buffer" do
483
+ it "sets the buffer" do
484
484
  s = Structure.new(:BIG_ENDIAN)
485
485
  s.append_item("test1", 8, :UINT, 16)
486
486
  s.write("test1", [1,2])
@@ -488,18 +488,18 @@ module Cosmos
488
488
  s.write("test2", 0x0304)
489
489
  s.append_item("test3", 32, :UINT)
490
490
  s.write("test3", 0x05060708)
491
- s.read("test1").should eql [1,2]
492
- s.read("test2").should eql 0x0304
493
- s.read("test3").should eql 0x05060708
491
+ expect(s.read("test1")).to eql [1,2]
492
+ expect(s.read("test2")).to eql 0x0304
493
+ expect(s.read("test3")).to eql 0x05060708
494
494
  s.buffer = "\x00\x01\x02\x03\x04\x05\x06\x07"
495
- s.read("test1").should eql [0,1]
496
- s.read("test2").should eql 0x0203
497
- s.read("test3").should eql 0x04050607
495
+ expect(s.read("test1")).to eql [0,1]
496
+ expect(s.read("test2")).to eql 0x0203
497
+ expect(s.read("test3")).to eql 0x04050607
498
498
  end
499
499
  end
500
500
 
501
501
  describe "clone" do
502
- it "should duplicate the structure with a new buffer" do
502
+ it "duplicates the structure with a new buffer" do
503
503
  s = Structure.new(:BIG_ENDIAN)
504
504
  s.append_item("test1", 8, :UINT, 16)
505
505
  s.write("test1", [1,2])
@@ -517,33 +517,33 @@ module Cosmos
517
517
  expect(s2.buffer(false)).to eql s.buffer(false)
518
518
  # But not the same object
519
519
  expect(s2.buffer(false)).to_not be s.buffer(false)
520
- s2.read("test1").should eql [1,2]
521
- s2.read("test2").should eql 0x0304
522
- s2.read("test3").should eql 0x05060708
520
+ expect(s2.read("test1")).to eql [1,2]
521
+ expect(s2.read("test2")).to eql 0x0304
522
+ expect(s2.read("test3")).to eql 0x05060708
523
523
  s2.write("test1", [0,0])
524
- s2.read("test1").should eql [0,0]
524
+ expect(s2.read("test1")).to eql [0,0]
525
525
  # Ensure we didn't change the original
526
- s.read("test1").should eql [1,2]
526
+ expect(s.read("test1")).to eql [1,2]
527
527
  end
528
528
  end
529
529
 
530
530
  describe "enable_method_missing" do
531
- it "should enable reading by name" do
531
+ it "enables reading by name" do
532
532
  s = Structure.new(:BIG_ENDIAN)
533
533
  s.append_item("test1", 8, :UINT, 16)
534
534
  s.write("test1", [1,2])
535
535
  s.enable_method_missing
536
- s.test1.should eql [1,2]
536
+ expect(s.test1).to eql [1,2]
537
537
  end
538
538
 
539
- it "should enable writing by name" do
539
+ it "enables writing by name" do
540
540
  s = Structure.new(:BIG_ENDIAN)
541
541
  s.append_item("test1", 8, :UINT, 16)
542
542
  s.write("test1", [1,2])
543
543
  s.enable_method_missing
544
- s.test1.should eql [1,2]
544
+ expect(s.test1).to eql [1,2]
545
545
  s.test1 = [3,4]
546
- s.test1.should eql [3,4]
546
+ expect(s.test1).to eql [3,4]
547
547
  end
548
548
 
549
549
  it "raises an exception if there is no buffer" do
@@ -553,7 +553,7 @@ module Cosmos
553
553
  expect { s.test1 }.to raise_error(/No buffer/)
554
554
  end
555
555
 
556
- it "should complain if it can't find an item" do
556
+ it "complains if it can't find an item" do
557
557
  s = Structure.new(:BIG_ENDIAN)
558
558
  s.enable_method_missing
559
559
  expect { s.test1 }.to raise_error(ArgumentError, "Unknown item: test1")