DebugCrystal extends Crystal implements ICrystal { public DebugCrystal() { super(); } DebugCrystal();  DebugCrystal(IAtomContainer container); @Override void addStereoElement(IStereoElement parity); @Override Iterable<IStereoElement> stereoElements(); @Override void setAtoms(IAtom[] atoms); @Override void setAtom(int number, IAtom atom); @Override IAtom getAtom(int idx); @Override IBond getBond(int idx); @Override ILonePair getLonePair(int idx); @Override ISingleElectron getSingleElectron(int idx); @Override Iterable<IAtom> atoms(); @Override Iterable<IBond> bonds(); @Override Iterable<ILonePair> lonePairs(); @Override Iterable<ISingleElectron> singleElectrons(); @Override Iterable<IElectronContainer> electronContainers(); @Override IAtom getFirstAtom(); @Override IAtom getLastAtom(); @Override int getAtomNumber(IAtom atom); @Override int getBondNumber(IAtom atom1, IAtom atom2); @Override int getBondNumber(IBond bond); @Override int getLonePairNumber(ILonePair bond); @Override int getSingleElectronNumber(ISingleElectron bond); @Override IElectronContainer getElectronContainer(int number); @Override IBond getBond(IAtom atom1, IAtom atom2); @Override int getAtomCount(); @Override int getBondCount(); @Override int getLonePairCount(); @Override int getSingleElectronCount(); @Override int getElectronContainerCount(); @Override List<IAtom> getConnectedAtomsList(IAtom atom); @Override List<IBond> getConnectedBondsList(IAtom atom); @Override List<ILonePair> getConnectedLonePairsList(IAtom atom); @Override List<ISingleElectron> getConnectedSingleElectronsList(IAtom atom); @Override List<IElectronContainer> getConnectedElectronContainersList(IAtom atom); @Override int getConnectedAtomsCount(IAtom atom); @Override int getConnectedBondsCount(IAtom atom); @Override int getConnectedLonePairsCount(IAtom atom); @Override int getConnectedSingleElectronsCount(IAtom atom); @Override double getBondOrderSum(IAtom atom); @Override Order getMaximumBondOrder(IAtom atom); @Override Order getMinimumBondOrder(IAtom atom); @Override void add(IAtomContainer atomContainer); @Override void addAtom(IAtom atom); @Override void addBond(IBond bond); @Override void addLonePair(ILonePair ec); @Override void addSingleElectron(ISingleElectron ec); @Override void addElectronContainer(IElectronContainer electronContainer); @Override void remove(IAtomContainer atomContainer); @Override IElectronContainer removeElectronContainer(int position); @Override void removeElectronContainer(IElectronContainer electronContainer); @Override void removeAtomOnly(int position); @Override void removeAtomOnly(IAtom atom); @Override IBond removeBond(int pos); @Override IBond removeBond(IAtom atom1, IAtom atom2); @Override void removeBond(IBond bond); @Override ILonePair removeLonePair(int pos); @Override void removeLonePair(ILonePair ec); @Override ISingleElectron removeSingleElectron(int pos); @Override void removeSingleElectron(ISingleElectron ec); @Override void removeAtom(IAtom atom); @Override void removeAllElements(); @Override void removeAllElectronContainers(); @Override void removeAllBonds(); @Override void addBond(int atom1, int atom2, IBond.Order order, IBond.Stereo stereo); @Override void addBond(int atom1, int atom2, IBond.Order order); @Override void addLonePair(int atomID); @Override void addSingleElectron(int atomID); @Override boolean contains(IAtom atom); @Override boolean contains(IBond bond); @Override boolean contains(ILonePair ec); @Override boolean contains(ISingleElectron ec); @Override boolean contains(IElectronContainer electronContainer); @Override void addListener(IChemObjectListener col); @Override int getListenerCount(); @Override void removeListener(IChemObjectListener col); @Override void notifyChanged(); @Override void notifyChanged(IChemObjectChangeEvent evt); @Override void setProperty(Object description, Object property); @Override void removeProperty(Object description); @Override T getProperty(Object description); @Override Map<Object, Object> getProperties(); @Override String getID(); @Override void setID(String identifier); @Override void setFlag(int flagType, boolean flagValue); @Override boolean getFlag(int flagType); @Override void addProperties(Map<Object, Object> properties); @Override void setFlags(boolean[] flagsNew); @Override boolean[] getFlags(); @Override ICrystal clone(); @Override IChemObjectBuilder getBuilder(); @Override void setA(Vector3d newAxis); @Override Vector3d getA(); @Override void setB(Vector3d newAxis); @Override Vector3d getB(); @Override void setC(Vector3d newAxis); @Override Vector3d getC(); @Override String getSpaceGroup(); @Override void setSpaceGroup(String group); @Override Integer getZ(); @Override void setZ(Integer value); @Override void stateChanged(IChemObjectChangeEvent event); @Override boolean isEmpty();  }
@Test public void testDebugCrystal() { ICrystal crystal = new DebugCrystal(); Assert.assertNotNull(crystal); Assert.assertEquals(0, crystal.getAtomCount()); Assert.assertEquals(0, crystal.getBondCount()); }