### Question:
BulkRotateParameters extends AbstractPdfOutputParameters implements SingleOrMultipleOutputTaskParameters { @Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof BulkRotateParameters)) { return false; } BulkRotateParameters params = (BulkRotateParameters) other; return new EqualsBuilder().appendSuper(super.equals(other)).append(outputPrefix, params.outputPrefix) .append(output, params.output).append(inputSet, params.inputSet).isEquals(); }  @Override SingleOrMultipleTaskOutput getOutput(); @Override void setOutput(SingleOrMultipleTaskOutput output); Set<PdfRotationInput> getInputSet(); void addInput(PdfRotationInput input); @Override String getOutputPrefix(); @Override void setOutputPrefix(String outputPrefix); @Override int hashCode(); @Override boolean equals(Object other);  }### Answer:
@Test public void testEquals() { PdfSource<?> source = mock(PdfSource.class); PdfRotationInput one = new PdfRotationInput(source, Rotation.DEGREES_180); PdfRotationInput two = new PdfRotationInput(source, Rotation.DEGREES_90); BulkRotateParameters eq1 = new BulkRotateParameters(); eq1.addInput(one); BulkRotateParameters eq2 = new BulkRotateParameters(); eq2.addInput(one); BulkRotateParameters eq3 = new BulkRotateParameters(); eq3.addInput(one); BulkRotateParameters diff = new BulkRotateParameters(); diff.addInput(two); TestUtils.testEqualsAndHashCodes(eq1, eq2, eq3, diff); }