Skip to content

feat(assert): add assert_array_length#747

Merged
Chemaclass merged 3 commits into
mainfrom
feat/743-assert-array-length
Jul 9, 2026
Merged

feat(assert): add assert_array_length#747
Chemaclass merged 3 commits into
mainfrom
feat/743-assert-array-length

Conversation

@Chemaclass

Copy link
Copy Markdown
Member

Summary

Adds assert_array_length <n> <array> — asserts an array has exactly n elements.

local fruits=(apple pear plum)
assert_array_length 3 "${fruits[@]}"

Empty arrays are supported (assert_array_length 0). Signature mirrors the existing assert_array_contains (count first, then expanded elements).

Tests

  • test_successful_assert_array_length
  • test_successful_assert_array_length_with_empty_array
  • test_unsuccessful_assert_array_length

make sa + make lint pass; targeted suite green (sequential + parallel + --strict --simple); bashunit doc snapshot regenerated.

Docs: docs/assertions.md. CHANGELOG updated under Unreleased → Added.

Closes #743

Assert an array has exactly N elements. Includes a doc section (with the
regenerated `bashunit doc` snapshot) and CHANGELOG entry.

Closes #743
@Chemaclass Chemaclass added the enhancement New feature or request label Jul 9, 2026
@Chemaclass Chemaclass self-assigned this Jul 9, 2026
Expanding an empty array under set -u is an unbound-variable error on Bash
3.2; call assert_array_length with just the length instead.
Building a local array from "$@" is unreliable under Bash 3.0 strict mode;
count via $# and display via $* instead (no array construction).
@Chemaclass Chemaclass merged commit e6992eb into main Jul 9, 2026
31 checks passed
@Chemaclass Chemaclass deleted the feat/743-assert-array-length branch July 9, 2026 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(assert): assert_array_length to assert element count

1 participant