### Question:
ClientMultiAxisGroupBy implements ClientGroupBy<ClientLevelAxis> { public void addAxis(ClientGroupAxisEnum axis, ClientLevelAxis clientLevelAxis) { if (axis.equals(ClientGroupAxisEnum.ROWS)) { this.rows = clientLevelAxis; } else if (axis.equals(ClientGroupAxisEnum.COLUMNS)) { this.columns = clientLevelAxis; } else { throw new IllegalArgumentException(String.format("unsupported axis %s for MultiAxisGroupBy", axis.toString())); } } ClientMultiAxisGroupBy();  ClientMultiAxisGroupBy(ClientMultiAxisGroupBy source); @Override ClientMultiAxisGroupBy deepClone(); @Override ClientLevelAxis getAxis(ClientGroupAxisEnum axis); @Override ClientLevelAxis getAxis(int index); ClientLevelAxis get(Object key); @Override @XmlTransient List<ClientLevelAxis> getAxes(); void addAxis(ClientGroupAxisEnum axis, ClientLevelAxis clientLevelAxis); @XmlElement(name = "rows") ClientLevelAxis getRows(); ClientMultiAxisGroupBy setRows(ClientLevelAxis rows); @XmlElement(name = "columns") ClientLevelAxis getColumns(); ClientMultiAxisGroupBy setColumns(ClientLevelAxis columns); Set<String> keySet(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void addAxisThrowExceptionForOtherClientGroupAxisEnum() { final ClientMultiAxisGroupBy instance = createFullyConfiguredInstance(); assertThrows(IllegalArgumentException.class, new Executable() { @Override public void execute() { instance.addAxis(ClientGroupAxisEnum.GROUPS, null); } }); }