crystal.add(clone);
crystal.add(clone);
@Test public void testStateChanged_EventPropagation_Crystal() { ChemObjectListenerImpl listener = new ChemObjectListenerImpl(); IChemModel chemObject = (IChemModel) newChemObject(); chemObject.addListener(listener); ICrystal crystal = chemObject.getBuilder().newInstance(ICrystal.class); chemObject.setCrystal(crystal); Assert.assertTrue(listener.changed); // reset the listener listener.reset(); Assert.assertFalse(listener.changed); // changing the set should trigger a change event in the IChemModel crystal.add(chemObject.getBuilder().newInstance(IAtomContainer.class)); Assert.assertTrue(listener.changed); }
@Test public void testStateChanged_ButNotAfterRemoval_Crystal() { ChemObjectListenerImpl listener = new ChemObjectListenerImpl(); IChemModel chemObject = (IChemModel) newChemObject(); chemObject.addListener(listener); ICrystal crystal = chemObject.getBuilder().newInstance(ICrystal.class); chemObject.setCrystal(crystal); Assert.assertTrue(listener.changed); // remove the set from the IChemModel chemObject.setCrystal(null); // reset the listener listener.reset(); Assert.assertFalse(listener.changed); // changing the set must *not* trigger a change event in the IChemModel crystal.add(chemObject.getBuilder().newInstance(IAtomContainer.class)); Assert.assertFalse(listener.changed); }
@Test @Override public void testStateChanged_EventPropagation_Crystal() { ChemObjectListener listener = new ChemObjectListener(); IChemModel chemObject = (IChemModel) newChemObject(); chemObject.addListener(listener); ICrystal crystal = chemObject.getBuilder().newInstance(ICrystal.class); chemObject.setCrystal(crystal); Assert.assertFalse(listener.getChanged()); // reset the listener listener.reset(); Assert.assertFalse(listener.getChanged()); // changing the set should trigger a change event in the IChemModel crystal.add(chemObject.getBuilder().newInstance(IAtomContainer.class)); Assert.assertFalse(listener.getChanged()); }
@Test @Override public void testStateChanged_ButNotAfterRemoval_Crystal() { ChemObjectListener listener = new ChemObjectListener(); IChemModel chemObject = (IChemModel) newChemObject(); chemObject.addListener(listener); ICrystal crystal = chemObject.getBuilder().newInstance(ICrystal.class); chemObject.setCrystal(crystal); Assert.assertFalse(listener.getChanged()); // remove the set from the IChemModel chemObject.setCrystal(null); // reset the listener listener.reset(); Assert.assertFalse(listener.getChanged()); // changing the set must *not* trigger a change event in the IChemModel crystal.add(chemObject.getBuilder().newInstance(IAtomContainer.class)); Assert.assertFalse(listener.getChanged()); }
@Test @Override public void testAdd_IAtomContainer() { ICrystal crystal = (ICrystal) newChemObject(); IAtomContainer acetone = crystal.getBuilder().newInstance(IAtomContainer.class); IAtom c1 = crystal.getBuilder().newInstance(IAtom.class, "C"); IAtom c2 = crystal.getBuilder().newInstance(IAtom.class, "C"); IAtom o = crystal.getBuilder().newInstance(IAtom.class, "O"); IAtom c3 = crystal.getBuilder().newInstance(IAtom.class, "C"); acetone.addAtom(c1); acetone.addAtom(c2); acetone.addAtom(c3); acetone.addAtom(o); IBond b1 = crystal.getBuilder().newInstance(IBond.class, c1, c2, IBond.Order.SINGLE); IBond b2 = crystal.getBuilder().newInstance(IBond.class, c1, o, IBond.Order.DOUBLE); IBond b3 = crystal.getBuilder().newInstance(IBond.class, c1, c3, IBond.Order.SINGLE); acetone.addBond(b1); acetone.addBond(b2); acetone.addBond(b3); crystal.add(acetone); Assert.assertEquals(4, crystal.getAtomCount()); Assert.assertEquals(3, crystal.getBondCount()); }