### Question:
ChangeSet { public boolean isContentChangeOnly() { return myChanges.size() == 1 && getFirstChange() instanceof ContentChange; } ChangeSet(long id, long timestamp);  ChangeSet(DataInput in); void write(DataOutput out); void setName(@Nullable String name); @Nullable String getName(); long getTimestamp(); @Nullable String getLabel(); int getLabelColor(); void addChange(Change c); List<Change> getChanges(); boolean isEmpty(); boolean affectsPath(String paths); boolean isCreationalFor(String path); List<Content> getContentsToPurge(); boolean isContentChangeOnly(); boolean isLabelOnly(); Change getFirstChange(); Change getLastChange(); List<String> getAffectedPaths(); void accept(ChangeVisitor v); String toString(); long getId(); @Override final boolean equals(Object o); @Override final int hashCode();  }### Answer:
@Test public void testIsFileContentChange() { assertFalse(cs(new CreateFileChange(nextId(), "f")).isContentChangeOnly()); assertTrue(cs(new ContentChange(nextId(), "f", null, -1)).isContentChangeOnly()); assertFalse(cs(new ContentChange(nextId(), "f1", null, -1), new ContentChange(nextId(), "f2", null, -1)).isContentChangeOnly()); assertFalse(cs(new CreateFileChange(nextId(), "f1"), new ContentChange(nextId(), "f2", null, -1)).isContentChangeOnly()); }