### Question:
TrackingProcessorSegment implements Printable { @Override public void printOn(Media media) { media.with("clientId", clientId) .with("segmentId", eventTrackerInfo.getSegmentId()) .with("caughtUp", eventTrackerInfo.getCaughtUp()) .with("replaying", eventTrackerInfo.getReplaying()) .with("tokenPosition", eventTrackerInfo.getTokenPosition()) .with("errorState", eventTrackerInfo.getErrorState()) .with("onePartOf", eventTrackerInfo.getOnePartOf()); } TrackingProcessorSegment(String clientId, SegmentStatus eventTrackerInfo); String clientId(); int segmentId(); @Override void printOn(Media media);  }### Answer:
@Test public void printOn() { GsonMedia gsonMedia = new GsonMedia(); SegmentStatus eventTrackerInfo = newBuilder().setSegmentId(1) .setOnePartOf(2) .setReplaying(false) .setCaughtUp(true) .build(); TrackingProcessorSegment tracker = new TrackingProcessorSegment("myClient", eventTrackerInfo); tracker.printOn(gsonMedia); assertEquals("{\"clientId\":\"myClient\",\"segmentId\":1,\"caughtUp\":true,\"replaying\":false,\"tokenPosition\":0,\"errorState\":\"\",\"onePartOf\":2}", gsonMedia.toString()); }