Granular vs a aggregated tests when dealing with arrays
I prefer the second option: using a test for both facets of the behavior.
While it has a lot of assertions, I feel it covers the behavior well in one go, removing duplication.
From a pure code economy point of view, we achieve the same thoroughness as the two tests scenario with just one extra line of code.
Moreover, in the two tests example, the first test would pass regardless of how the output is built, as long as it contains only one element. Yes, the second test is there to make sure the Group is built properly, but I'm somehow uncomfortable with how close to a false positive the test that only checks the array count is.
If the second tests was to be removed, code coverage tools wouldn't register a change in coverage, but the thoroughness of what is checked would decrease.