### Question:
AvuData extends IRODSDomainObject { public static AvuData instance(final String attribute, final String value, final String unit) { return new AvuData(attribute, value, unit); } AvuData();  AvuData(final String attribute, final String value, final String unit); static AvuData instance(final String attribute, final String value, final String unit); String getAttribute(); String getValue(); String getUnit(); @Override String toString(); void setAttribute(final String attribute); void setValue(final String value); void setUnit(final String unit); @Override boolean equals(final Object obj); @Override int hashCode();  }### Answer:
@Test public final void testInstance() throws Exception { Assert.assertNotNull(AvuData.instance("x", "y", "z")); }
@Test(expected = IllegalArgumentException.class) public final void testInstanceNullAttrib() throws Exception { AvuData.instance(null, "y", "z"); }
@Test(expected = IllegalArgumentException.class) public final void testInstanceBlankAttrib() throws Exception { AvuData.instance("", "y", "z"); }
@Test(expected = IllegalArgumentException.class) public final void testInstanceNulValue() throws Exception { AvuData.instance("x", null, "z"); }
@Test(expected = IllegalArgumentException.class) public final void testInstanceNullUnits() throws Exception { AvuData.instance("x", "y", null); }