@Test public void testSetRingSet_IRingSet() { IChemModel chemModel = (IChemModel) newChemObject(); IRingSet crystal = chemModel.getBuilder().newInstance(IRingSet.class); chemModel.setRingSet(crystal); Assert.assertEquals(crystal, chemModel.getRingSet()); }
@Test public void testIsEmpty_RingSet() { IChemModel model = (IChemModel) newChemObject(); IChemObjectBuilder builder = model.getBuilder(); IAtomContainer container = builder.newInstance(IAtomContainer.class); IRingSet ringset = builder.newInstance(IRingSet.class); Assert.assertTrue(model.isEmpty()); model.setRingSet(ringset); Assert.assertTrue(model.isEmpty()); ringset.addAtomContainer(container); Assert.assertFalse(model.isEmpty()); model.setRingSet(null); Assert.assertTrue(model.isEmpty()); }
@Test public void testStateChanged_ButNotAfterRemoval_RingSet() { ChemObjectListenerImpl listener = new ChemObjectListenerImpl(); IChemModel chemObject = (IChemModel) newChemObject(); chemObject.addListener(listener); IRingSet ringSet = chemObject.getBuilder().newInstance(IRingSet.class); chemObject.setRingSet(ringSet); Assert.assertTrue(listener.changed); // remove the set from the IChemModel chemObject.setRingSet(null); // reset the listener listener.reset(); Assert.assertFalse(listener.changed); // changing the set must *not* trigger a change event in the IChemModel ringSet.addAtomContainer(chemObject.getBuilder().newInstance(IRing.class)); Assert.assertFalse(listener.changed); }
@Test @Override public void testStateChanged_ButNotAfterRemoval_RingSet() { ChemObjectListener listener = new ChemObjectListener(); IChemModel chemObject = (IChemModel) newChemObject(); chemObject.addListener(listener); IRingSet ringSet = chemObject.getBuilder().newInstance(IRingSet.class); chemObject.setRingSet(ringSet); Assert.assertFalse(listener.getChanged()); // remove the set from the IChemModel chemObject.setRingSet(null); // reset the listener listener.reset(); Assert.assertFalse(listener.getChanged()); // changing the set must *not* trigger a change event in the IChemModel ringSet.addAtomContainer(chemObject.getBuilder().newInstance(IRing.class)); Assert.assertFalse(listener.getChanged()); }
@Test public void testClone_RingSet() throws Exception { IChemModel model = (IChemModel) newChemObject(); IChemModel clone = (IChemModel) model.clone(); Assert.assertNull(clone.getRingSet()); model.setRingSet(model.getBuilder().newInstance(IRingSet.class)); clone = (IChemModel) model.clone(); Assert.assertNotNull(clone.getRingSet()); Assert.assertNotSame(model.getRingSet(), clone.getRingSet()); }
@Test public void testStateChanged_EventPropagation_RingSet() { ChemObjectListenerImpl listener = new ChemObjectListenerImpl(); IChemModel chemObject = (IChemModel) newChemObject(); chemObject.addListener(listener); IRingSet ringSet = chemObject.getBuilder().newInstance(IRingSet.class); chemObject.setRingSet(ringSet); Assert.assertTrue(listener.changed); // reset the listener listener.reset(); Assert.assertFalse(listener.changed); // changing the set should trigger a change event in the IChemModel ringSet.addAtomContainer(chemObject.getBuilder().newInstance(IRing.class)); Assert.assertTrue(listener.changed); }
@Test @Override public void testStateChanged_EventPropagation_RingSet() { ChemObjectListener listener = new ChemObjectListener(); IChemModel chemObject = (IChemModel) newChemObject(); chemObject.addListener(listener); IRingSet ringSet = chemObject.getBuilder().newInstance(IRingSet.class); chemObject.setRingSet(ringSet); Assert.assertFalse(listener.getChanged()); // reset the listener listener.reset(); Assert.assertFalse(listener.getChanged()); // changing the set should trigger a change event in the IChemModel ringSet.addAtomContainer(chemObject.getBuilder().newInstance(IRing.class)); Assert.assertFalse(listener.getChanged()); }
@Test @Override public void testStateChanged_IChemObjectChangeEvent() { ChemObjectListenerImpl listener = new ChemObjectListenerImpl(); IChemModel chemObject = (IChemModel) newChemObject(); chemObject.addListener(listener); chemObject.setMoleculeSet(chemObject.getBuilder().newInstance(IAtomContainerSet.class)); Assert.assertTrue(listener.changed); listener.reset(); Assert.assertFalse(listener.changed); chemObject.setReactionSet(chemObject.getBuilder().newInstance(IReactionSet.class)); Assert.assertTrue(listener.changed); listener.reset(); Assert.assertFalse(listener.changed); chemObject.setCrystal(chemObject.getBuilder().newInstance(ICrystal.class)); Assert.assertTrue(listener.changed); listener.reset(); Assert.assertFalse(listener.changed); chemObject.setRingSet(chemObject.getBuilder().newInstance(IRingSet.class)); Assert.assertTrue(listener.changed); }
IRingSet ringset = new RingSet(); ringset.add(mset); model2.setRingSet(ringset); Assert.assertFalse(model2.isEmpty()); mol.removeAtomOnly(atom); Assert.assertFalse(model2.isEmpty()); model2.setRingSet(null); Assert.assertTrue(model2.isEmpty());