示例#1
0
        public override void TestStateChanged_IChemObjectChangeEvent()
        {
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();
            IChemSequence          chemObject = (IChemSequence)NewChemObject();

            chemObject.Listeners.Add(listener);

            chemObject.Add(chemObject.Builder.NewChemModel());
            Assert.IsTrue(listener.Changed);
        }
示例#2
0
        public virtual void TestNotifyChanged_RemoveNonExistentProperty()
        {
            IChemObject            chemObject = NewChemObject();
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();

            chemObject.Listeners.Add(listener);

            chemObject.RemoveProperty("Changed");
            Assert.IsNull(listener.Event);
        }
        public override void TestStateChanged_IChemObjectChangeEvent()
        {
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();
            IChemObjectSet <T>     chemObject = (IChemObjectSet <T>)NewChemObject();

            chemObject.Listeners.Add(listener);

            chemObject.Add(NewContainerObject());
            Assert.IsTrue(listener.Changed);
        }
示例#4
0
        public virtual void TestNotifyChanged_SetProperty()
        {
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();
            IChemObject            chemObject = NewChemObject();

            chemObject.Listeners.Add(listener);

            chemObject.SetProperty("Changed", "Yes");
            Assert.IsNotNull(listener.Event);
        }
示例#5
0
        public virtual void TestNotifyChanged_SetFlag()
        {
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();
            IChemObject            chemObject = NewChemObject();

            chemObject.Listeners.Add(listener);
            Assert.IsNull(listener.Event);
            chemObject.IsVisited = true;
            Assert.IsNotNull(listener.Event);
        }
示例#6
0
        public virtual void TestNotifyChanged_IChemObjectChangeEvent()
        {
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();
            IChemObject            chemObject = NewChemObject();

            chemObject.Listeners.Add(listener);

            chemObject.Id = "Changed";
            Assert.IsNotNull(listener.Event);
        }
示例#7
0
        public virtual void TestNotifyChanged()
        {
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();
            IChemObject            chemObject = NewChemObject();

            chemObject.Listeners.Add(listener);

            chemObject.Id = "Changed";
            Assert.IsTrue(listener.Changed);
        }
示例#8
0
        public virtual void TestSetNotification_false()
        {
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();
            IChemObject            chemObject = NewChemObject();

            chemObject.Listeners.Add(listener);
            chemObject.Notification = false;

            chemObject.Id = "Changed";
            Assert.IsFalse(listener.Changed);
        }
示例#9
0
        public override void TestStateChanged_IChemObjectChangeEvent()
        {
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();
            IReactionSet           chemObject = (IReactionSet)NewChemObject();

            chemObject.Listeners.Add(listener);

            chemObject.Add(chemObject.Builder.NewReaction());
            Assert.IsTrue(listener.Changed);

            listener.Reset();
            Assert.IsFalse(listener.Changed);
        }
示例#10
0
        public virtual void TestStateChanged_EventPropagation_RingSet()
        {
            ChemObjectListenerImpl listener = new ChemObjectListenerImpl();
            IChemModel chemObject = (IChemModel)NewChemObject();
            chemObject.Listeners.Add(listener);

            IRingSet ringSet = chemObject.Builder.NewRingSet();
            chemObject.RingSet = ringSet;
            Assert.IsTrue(listener.Changed);
            // reset the listener
            listener.Reset();
            Assert.IsFalse(listener.Changed);
            // changing the set should trigger a change event in the IChemModel
            ringSet.Add(chemObject.Builder.NewRing());
            Assert.IsTrue(listener.Changed);
        }
示例#11
0
        public virtual void TestStateChanged_EventPropagation_Crystal()
        {
            ChemObjectListenerImpl listener = new ChemObjectListenerImpl();
            IChemModel chemObject = (IChemModel)NewChemObject();
            chemObject.Listeners.Add(listener);

            ICrystal crystal = chemObject.Builder.NewCrystal();
            chemObject.Crystal = crystal;
            Assert.IsTrue(listener.Changed);
            // reset the listener
            listener.Reset();
            Assert.IsFalse(listener.Changed);
            // changing the set should trigger a change event in the IChemModel
            crystal.Add(chemObject.Builder.NewAtomContainer());
            Assert.IsTrue(listener.Changed);
        }
示例#12
0
        public virtual void TestStateChanged_EventPropagation_AtomContainerSet()
        {
            ChemObjectListenerImpl listener = new ChemObjectListenerImpl();
            IChemModel chemObject = (IChemModel)NewChemObject();
            chemObject.Listeners.Add(listener);

            IChemObjectSet<IAtomContainer> molSet = chemObject.Builder.NewAtomContainerSet();
            chemObject.MoleculeSet = molSet;
            Assert.IsTrue(listener.Changed);
            // reset the listener
            listener.Reset();
            Assert.IsFalse(listener.Changed);
            // changing the set should trigger a change event in the IChemModel
            molSet.Add(chemObject.Builder.NewAtomContainer());
            Assert.IsTrue(listener.Changed);
        }
示例#13
0
        public virtual void TestStateChanged_ButNotAfterRemoval_RingSet()
        {
            ChemObjectListenerImpl listener = new ChemObjectListenerImpl();
            IChemModel chemObject = (IChemModel)NewChemObject();
            chemObject.Listeners.Add(listener);

            IRingSet ringSet = chemObject.Builder.NewRingSet();
            chemObject.RingSet = ringSet;
            Assert.IsTrue(listener.Changed);
            // remove the set from the IChemModel
            chemObject.RingSet = null;
            // reset the listener
            listener.Reset();
            Assert.IsFalse(listener.Changed);
            // changing the set must *not* trigger a change event in the IChemModel
            ringSet.Add(chemObject.Builder.NewRing());
            Assert.IsFalse(listener.Changed);
        }
示例#14
0
        public virtual void TestStateChanged_ButNotAfterRemoval_Crystal()
        {
            ChemObjectListenerImpl listener = new ChemObjectListenerImpl();
            IChemModel chemObject = (IChemModel)NewChemObject();
            chemObject.Listeners.Add(listener);

            ICrystal crystal = chemObject.Builder.NewCrystal();
            chemObject.Crystal = crystal;
            Assert.IsTrue(listener.Changed);
            // remove the set from the IChemModel
            chemObject.Crystal = null;
            // reset the listener
            listener.Reset();
            Assert.IsFalse(listener.Changed);
            // changing the set must *not* trigger a change event in the IChemModel
            crystal.Add(chemObject.Builder.NewAtomContainer());
            Assert.IsFalse(listener.Changed);
        }
示例#15
0
        public virtual void TestStateChanged_IChemObjectChangeEvent()
        {
            ChemObjectListenerImpl listener   = new ChemObjectListenerImpl();
            IChemObject            chemObject = NewChemObject();

            chemObject.Listeners.Add(listener);

            chemObject.Id = "Changed";
            Assert.IsTrue(listener.Changed);

            listener.Reset();
            Assert.IsFalse(listener.Changed);
            chemObject.SetProperty("Changed", "Again");
            Assert.IsTrue(listener.Changed);

            listener.Reset();
            Assert.IsFalse(listener.Changed);
            chemObject.IsVisited = true;
            Assert.IsTrue(listener.Changed);
        }
示例#16
0
        public override void TestStateChanged_IChemObjectChangeEvent()
        {
            ChemObjectListenerImpl listener = new ChemObjectListenerImpl();
            IChemModel chemObject = (IChemModel)NewChemObject();
            chemObject.Listeners.Add(listener);

            chemObject.MoleculeSet = chemObject.Builder.NewAtomContainerSet();
            Assert.IsTrue(listener.Changed);

            listener.Reset();
            Assert.IsFalse(listener.Changed);
            chemObject.ReactionSet = chemObject.Builder.NewReactionSet();
            Assert.IsTrue(listener.Changed);

            listener.Reset();
            Assert.IsFalse(listener.Changed);
            chemObject.Crystal = chemObject.Builder.NewCrystal();
            Assert.IsTrue(listener.Changed);

            listener.Reset();
            Assert.IsFalse(listener.Changed);
            chemObject.RingSet = chemObject.Builder.NewRingSet();
            Assert.IsTrue(listener.Changed);
        }