### Question:
SubroutineArgumentDeclaration implements DataTyped { public String getName() { return name; } SubroutineArgumentDeclaration(final String name);  SubroutineArgumentDeclaration(final String name, final DataType dataType);  SubroutineArgumentDeclaration(final String name, final boolean isByRef, final DataType dataType); @Override boolean equals(final Object obj); @Override DataType getDataType(); String getName(); @Override int hashCode(); boolean isByRef(); @Override String toString();  }### Answer:
@Test public void testEqualsDifferentName() { final SubroutineArgumentDeclaration first = new SubroutineArgumentDeclaration("an_arg"); final SubroutineArgumentDeclaration other = new SubroutineArgumentDeclaration( StringUtils.reverse(first.getName())); assertThat(first).isNotEqualTo(other); assertThat(other).isNotEqualTo(first); }
@Test public void testEqualsDifferentDataType() { final SubroutineArgumentDeclaration first = new SubroutineArgumentDeclaration("test", DataType.DQ8); final SubroutineArgumentDeclaration other = new SubroutineArgumentDeclaration(first.getName(), DataType.F8); assertThat(first).isNotEqualTo(other); assertThat(other).isNotEqualTo(first); }
@Test public void testGetName() { assertThat(new SubroutineArgumentDeclaration("an_arg").getName()).isEqualTo("an_arg"); }