### Question:
Variable extends Parameter { @Override public String toString() { return super.toString(this.getClass().getSimpleName(), null); } Variable(String key, T value); @Override String toString();  }### Answer:
@Test public void variableStringTest() { Variable variable = new Variable(null, null); variable.setKey("test"); variable.setValue("test"); assertEquals("test", variable.getKey()); assertEquals("test", variable.getValue()); assertEquals("Variable{key='test', value=test}", variable.toString()); }
@Test public void variableIntTest() { Variable variable = new Variable(null, null); variable.setKey("test"); variable.setValue(1); assertEquals("test", variable.getKey()); assertEquals(1, variable.getValue()); assertEquals("Variable{key='test', value=1}", variable.toString()); }
@Test public void variableEnumTest() { Variable variable = new Variable(null, null); variable.setKey("test"); variable.setValue(STATUS.active); assertEquals("test", variable.getKey()); assertEquals(STATUS.active, variable.getValue()); assertEquals("Variable{key='test', value=active}", variable.toString()); }