mirror of
https://github.com/Xastir/Xastir
synced 2026-08-13 17:46:16 -04:00
One of the main reasons I got off on this whole refactor business for objects/items was as a consequence of #239, where it was reported that Xastir was not properly formatting compressed posits if the station had a symbol with numeric overlay. My first test confirming that bug was to try creating an object with a numeric overlay and it didn't work, either. This commit actually adds unit tests for exactly that issue. There are now two tests of object/item formatters in objects_utils.c when asked to format a packet with a numeric overlay, in both compressed and uncompressed form. The "5" for the overlay should be replaced by an 'f' in the compressed packet, and these new test verifies that that happens. There are also two new tests of construct_object_item_data_row and Create_object_item_tx_string (in objects.c) for the same two cases: an object with a numeric overlay, compressed and uncompressed. The object_util.c tests check the low-level string formatters. The objects.c tests check the high-level code that actually does the creation of objects from dialog box values (that is, when *passed* dialog box values --- the functions don't read the dialogs themselves). Since the high-level functions call the low level functions, and it's actually the low-level functions that handle the formatting, this is sort of overkill, but overkill is good when we're talking about unit tests. All that refactor inspired by one simple issue, and the unit tests didn't even verify that the issue was addressed (largely because the issue was fixed long before the refactor started, and memory is short). Better late than never.
269 lines
13 KiB
Text
269 lines
13 KiB
Text
# Autotest tests for objects.c Functions
|
|
# Tests for standalone utility functions from objects.c
|
|
|
|
AT_BANNER([Object Functions])
|
|
|
|
AT_BANNER([construct_object_item_data_row() tests])
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns null given no inputs])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_null_everything], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple object])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_object], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple object with numeric overlay])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_object_numeric_overlay], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple object with numeric overlay, compressed])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_object_numeric_overlay_compressed], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple object truncating overlong name])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_object_name_too_long], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple item])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_item], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple killed object])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_killed_object], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple killed item])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_killed_item], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple object with speed,course])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_object_course_speed], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple item with speed,course])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_item_course_speed], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple object with speed,course,alt])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_object_course_speed_alt], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple item with speed,course,alt])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_item_course_speed_alt], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple object with speed,course,alt,long comment])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_object_course_speed_alt_comment], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good simple item with speed,course,alt, long])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_simple_item_course_speed_alt_comment], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_BANNER([construct_object_item_data_row() tests for area objects/items])
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area object with minimal data input])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_object_basic], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area item with minimal data input])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_item_basic], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area object with course and speed incorrectly specified])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_object_speed], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area item with course and speed incorrectly specified])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_item_speed], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area object with offsets data input])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_object_offsets], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area item with offsets data input])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_item_offsets], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area object with offsets data input, filled circle])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_object_offsets_filled], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area item with offsets data input filled circle])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_item_offsets_filled], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good line area object with corridor data input])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_object_line_corridor], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good line area item with corridor data input])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_item_line_corridor], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area object with offsets and altitude data input])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_object_offsets_alt], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good area item with offsets and altitude data input])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_item_offsets_alt], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_BANNER([construct_object_item_data_row() tests for signposts])
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good signpost with text])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_object_signpost_basic], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good signpost with text])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_item_signpost_basic], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good signpost with text and course/speed])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_object_signpost_speed], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good signpost with text and course/speed])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_area_item_signpost_speed], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_BANNER([construct_object_item_data_row() tests for omni-df objects])
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good omni-df object])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_object_df_omni], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good omni-df item ])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_item_df_omni], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_BANNER([construct_object_item_data_row() tests for beam-df objects])
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good omni-df object])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_object_df_beam], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good beam-df item ])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_item_df_beam], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_BANNER([construct_object_item_data_row() tests for probability ring objects])
|
|
AT_SETUP([construct_object_item_data_row: returns good probability ring object with no radii])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_object_prob_circles_noring], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good probability ring item with no radii ])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_item_prob_circles_noring], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_BANNER([construct_object_item_data_row() tests for probability ring objects])
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good probability ring object with only min radius])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_object_prob_circles_minring], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good probability ring item with only min radius ])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_item_prob_circles_minring], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good probability ring object with only max radius])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_object_prob_circles_maxring], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good probability ring item with only max radius ])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_item_prob_circles_maxring], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good probability ring object with min and max radius])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_object_prob_circles_minmax], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([construct_object_item_data_row: returns good probability ring item with min and max radius ])
|
|
AT_KEYWORDS([objects construct_object_item_data_row])
|
|
AT_CHECK(["$abs_top_builddir/tests/test_objects" constructor_item_prob_circles_minmax], [0], [PASS: construct_object_item_data_row
|
|
])
|
|
AT_CLEANUP
|