### Question:
WordSequence implements Comparable<WordSequence> { @Override public boolean equals(Object object) { if (this == object) return true; if (!(object instanceof WordSequence)) return false; return Arrays.equals(words, ((WordSequence) object).words); } private  WordSequence(int size);  WordSequence(Word... words);  WordSequence(List<Word> list); static WordSequence asWordSequence(final Dictionary dictionary,
            String... words); WordSequence addWord(Word word, int maxSize); WordSequence getOldest(); WordSequence getNewest(); WordSequence trim(int maxSize); Word getWord(int n); int size(); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object object); WordSequence getSubSequence(int startIndex, int stopIndex); Word[] getWords(); int compareTo(WordSequence other); final static Comparator<WordSequence> OLDEST_COMPARATOR; final static WordSequence EMPTY; }### Answer:
@Test public void equals() { WordSequence ws = asWordSequence(dictionary, "one", "two", "three"); assertThat(ws.size(), is(3)); assertThat(asWordSequence(dictionary, "one", "two", "three"), equalTo(ws)); }