### Question:
LauncherConfig { @Override public boolean equals(Object object) { if (this == object) { return true; } if (object == null || object.getClass() != getClass()) { return false; } final LauncherConfig other = (LauncherConfig) object; return level == other.level && rate == other.rate && Arrays.equals(launchables.toArray(), other.launchables.toArray()); } LauncherConfig(int level, int rate, Collection<LaunchableConfig> launchables); static List<LauncherConfig> imports(Configurer configurer); static LauncherConfig imports(Xml node); static Xml exports(LauncherConfig config); int getLevel(); int getRate(); Iterable<LaunchableConfig> getLaunchables(); @Override int hashCode(); @Override boolean equals(Object object); @Override String toString(); static final String NODE_LAUNCHER; static final String ATT_LEVEL; static final String ATT_RATE; }### Answer:
@Test void testEquals() { final LaunchableConfig launchable = new LaunchableConfig("media", 10, 1, 2, new Force(1.0, 2.0)); final LauncherConfig launcher = new LauncherConfig(0, 1, Arrays.asList(launchable)); assertEquals(launcher, launcher); assertNotEquals(launcher, null); assertNotEquals(launcher, new Object()); assertNotEquals(launcher, new LauncherConfig(0, 0, Arrays.asList(launchable))); assertNotEquals(launcher, new LauncherConfig(0, 1, new ArrayList<LaunchableConfig>())); assertNotEquals(launcher, new LauncherConfig(1, 0, Arrays.asList(launchable))); }