| contains() is false for an atom that was never added |
containsIsFalseForAbsentAtom() |
1 |
0 |
0 |
0s |
100% |
| empty() has size 0 and no elements |
emptyIsEmpty() |
1 |
0 |
0 |
0s |
100% |
| equals() is false for different sets, including a strict subset |
equalsIsFalseForDifferentSets() |
1 |
0 |
0 |
0.001s |
100% |
| equals()/hashCode() agree for the same set built via different paths |
equalsIsOrderAndPathIndependent() |
1 |
0 |
0 |
0s |
100% |
| get() returns atoms in the same order the iterator does |
getMatchesIterationOrder() |
1 |
0 |
0 |
0s |
100% |
| hasStereotype() is false for an empty or SName-only array |
hasStereotypeIsFalseWithoutStereotypeAtom() |
1 |
0 |
0 |
0s |
100% |
| hasStereotype() is true as soon as one stereotype atom is present |
hasStereotypeIsTrueWithStereotypeAtom() |
1 |
0 |
0 |
0.001s |
100% |
| iterator() on an empty collection has no elements |
iteratorOnEmptyHasNoElements() |
1 |
0 |
0 |
0s |
100% |
| iterator() throws once exhausted |
iteratorThrowsWhenExhausted() |
1 |
0 |
0 |
0s |
100% |
| of() dedups repeated atoms, same as TreeSet.add |
ofDedupsAtoms() |
1 |
0 |
0 |
0s |
100% |
| of() with no arguments is the empty instance |
ofNoArgsIsEmpty() |
1 |
0 |
0 |
0s |
100% |
| of() throws on a null atom |
ofRejectsNull() |
1 |
0 |
0 |
0s |
100% |
| of() sorts its arguments into ascending natural order |
ofSortsAtoms() |
1 |
0 |
0 |
0s |
100% |
| plus() with a new atom grows the collection by one |
plusAddsNewAtom() |
1 |
0 |
0 |
0s |
100% |
| plusAll() dedups atoms shared by both collections |
plusAllDedupsSharedAtoms() |
1 |
0 |
0 |
0s |
100% |
| plusAll() mixing SName and stereotype atoms merges both families correctly |
plusAllMixesNameAndStereotypeAtoms() |
1 |
0 |
0 |
0s |
100% |
| plusAll() called on an empty collection returns the other collection |
plusAllOnEmptyReturnsOther() |
1 |
0 |
0 |
0s |
100% |
| plusAll() unions two disjoint collections |
plusAllUnionsDisjointSets() |
1 |
0 |
0 |
0.001s |
100% |
| plusAll() with an empty argument returns this unchanged |
plusAllWithEmptyOtherIsNoOp() |
1 |
0 |
0 |
0s |
100% |
| plus() with an atom already present is a no-op, returning the same instance |
plusExistingAtomIsNoOp() |
1 |
0 |
0 |
0.001s |
100% |
| plus() keeps ascending order regardless of insertion position |
plusKeepsSortedOrder() |
1 |
0 |
0 |
0s |
100% |
| building the same set one atom at a time or in one of() call agree |
plusMatchesOfRegardlessOfOrder() |
1 |
0 |
0 |
0s |
100% |
| SName atoms sort before stereotype atoms, per StyleAtom's total order |
snameAtomsSortBeforeStereotypes() |
1 |
0 |
0 |
0s |
100% |