Beispiel #1
0
        public void testStateMachineCreateSequence()
        {
            CStateMachine sm = new CStateMachine(_manager);

              Assert.AreEqual(-1, sm.Session);
              Assert.AreEqual(TimeSpan.Zero, sm.Duration);
              Assert.AreEqual(EStateId.IDLE, sm.getStateId());

              // changing state
              sm.changeState(EStateId.INCOMING);
              Assert.AreEqual(EStateId.INCOMING, sm.getStateId());
              Assert.AreEqual("INCOMING", sm.getStateName());
              sm.changeState(EStateId.ALERTING);
              Assert.AreEqual(EStateId.ALERTING, sm.getStateId());
              Assert.AreEqual("ALERTING", sm.getStateName());
              sm.changeState(EStateId.CONNECTING);
              Assert.AreEqual(EStateId.CONNECTING, sm.getStateId());
              Assert.AreEqual("CONNECTING", sm.getStateName());
              sm.changeState(EStateId.RELEASED);
              Assert.AreEqual(EStateId.RELEASED, sm.getStateId());
              Assert.AreEqual("RELEASED", sm.getStateName());

              sm.destroy();

              // Second
              sm = new CStateMachine(_manager);
              Assert.AreEqual(-1, sm.Session);
              Assert.AreEqual(TimeSpan.Zero, sm.Duration);
              Assert.AreEqual(EStateId.IDLE, sm.getStateId());

              // changing state
              sm.changeState(EStateId.INCOMING);
              Assert.AreEqual(EStateId.INCOMING, sm.getStateId());
              Assert.AreEqual("INCOMING", sm.getStateName());
              sm.changeState(EStateId.ALERTING);
              Assert.AreEqual(EStateId.ALERTING, sm.getStateId());
              Assert.AreEqual("ALERTING", sm.getStateName());
              sm.changeState(EStateId.CONNECTING);
              Assert.AreEqual(EStateId.CONNECTING, sm.getStateId());
              Assert.AreEqual("CONNECTING", sm.getStateName());
              sm.changeState(EStateId.RELEASED);
              Assert.AreEqual(EStateId.RELEASED, sm.getStateId());
              Assert.AreEqual("RELEASED", sm.getStateName());
              sm.destroy();

              // third

              sm = new CStateMachine(_manager);
              Assert.AreEqual(-1, sm.Session);
              Assert.AreEqual(TimeSpan.Zero, sm.Duration);
              Assert.AreEqual(EStateId.IDLE, sm.getStateId());

              // changing state
              sm.changeState(EStateId.INCOMING);
              Assert.AreEqual(EStateId.INCOMING, sm.getStateId());
              Assert.AreEqual("INCOMING", sm.getStateName());
              sm.changeState(EStateId.ALERTING);
              Assert.AreEqual(EStateId.ALERTING, sm.getStateId());
              Assert.AreEqual("ALERTING", sm.getStateName());
              sm.changeState(EStateId.CONNECTING);
              Assert.AreEqual(EStateId.CONNECTING, sm.getStateId());
              Assert.AreEqual("CONNECTING", sm.getStateName());
              sm.changeState(EStateId.RELEASED);
              Assert.AreEqual(EStateId.RELEASED, sm.getStateId());
              Assert.AreEqual("RELEASED", sm.getStateName());
              sm.destroy();
        }
Beispiel #2
0
        public void testOutgoingCall()
        {
            CStateMachine sm1 = new CStateMachine(_manager);
              Assert.AreEqual(EStateId.IDLE, sm1.getStateId());
              Assert.AreEqual(false, sm1.Incoming);
              sm1.changeState(EStateId.CONNECTING);
              Assert.AreEqual(EStateId.CONNECTING, sm1.getStateId());
              Assert.AreEqual(false, sm1.Incoming);
              Assert.AreEqual(sm1.RuntimeDuration, TimeSpan.Zero);

              sm1.changeState(EStateId.ALERTING);
              Assert.AreEqual(EStateId.ALERTING, sm1.getStateId());
              Assert.AreEqual(false, sm1.Incoming);
              Assert.AreEqual(sm1.RuntimeDuration, TimeSpan.Zero);

              sm1.changeState(EStateId.ACTIVE);
              Assert.AreEqual(EStateId.ACTIVE, sm1.getStateId());
              Assert.AreEqual("ACTIVE", sm1.getStateName());
              Assert.AreEqual(false, sm1.Incoming);
              Assert.AreEqual(true, sm1.Counting);
              Assert.AreNotSame(sm1.RuntimeDuration, TimeSpan.Zero);

              sm1.destroy();
        }