private void cbSpecSelectedIndexChanged(object sender, EventArgs e)
        {
            var selected = cbSpec.SelectedItem.ToString();
            var spec     = default(IMineSweeperSpec);

            switch (selected)
            {
            case "Mine":
                spec = new MineSweeperSpec();
                break;

            case "EliteMine":
                spec = new EliteMineSweeperSpec();
                break;

            case "Dodger":
                spec = new MineSweeperHoleDodgerSpec();
                break;

            case "Cluster":
                spec = new ClusterSweeperSpec();
                break;

            case "RNNTest":
                spec = new RecurrentSpec();
                break;

            default:
                break;
            }
            var eventArgs = new SpecEventArgs(spec);

            SpecChanged.Raise <SpecEventArgs>(this, eventArgs);
        }
Beispiel #2
0
        public void TestWithEvents()
        {
            int stdCalled  = 0;
            int specCalled = 0;

            ActionSequence s = new ActionSequence();

            StdEvent  += (o, e) => { stdCalled = 1; };
            SpecEvent += (o, e) => { specCalled = 1; };

            SpecEventArgs args = new SpecEventArgs();

            s.NowOrLater(SpecEvent, this, args);
            s.NowOrLater(StdEvent, this, EventArgs.Empty);

            Assert.That(stdCalled, Is.EqualTo(0));
            Assert.That(specCalled, Is.EqualTo(0));

            s.Run();
            Assert.That(stdCalled, Is.EqualTo(1));
            Assert.That(specCalled, Is.EqualTo(1));
        }
        void _realService_AnEventGen(object sender, SpecEventArgs args)
        {
            Debug.Assert(sender == _impl);
            Debug.Assert(_dAnEventGen != null, "Since we register only when needed and unregister when no more clients exist.");

            // AnEvent is not IgnoreServiceRunningStatus.
            LogEventEntry          e;
            ServiceLogEventOptions o;

            if (GetLoggerEventForRunningCall(0, out e, out o))
            {
                // Implementation maps to the Proxy.
                if (sender == _impl)
                {
                    sender = this;
                }

                // Fires the event
                foreach (Delegate d in _dAnEventGen.GetInvocationList())
                {
                    try
                    {
                        ((EventHandler <SpecEventArgs>)d)(this, args);
                    }
                    catch (Exception ex)
                    {
                        if (!OnEventHandlingException(0, d.Method, ex, ref e))
                        {
                            throw;
                        }
                    }
                }
                if ((o & ServiceLogEventOptions.EndRaise) != 0)
                {
                    LogEndRaise(e);
                }
            }
        }
Beispiel #4
0
 void CS_AnEventGen(object source, SpecEventArgs args)
 {
     Assert.That(source is ServiceProxyBase, "Source is the Proxy object (event must have been relayed and parameter must have been mapped).");
     _anEventGenFired = true;
 }
        private void cbSpecSelectedIndexChanged(object sender, EventArgs e)
        {
            var selected = cbSpec.SelectedItem.ToString();
            var spec = default(IMineSweeperSpec);
            switch (selected)
            {
                case "Mine":
                    spec = new MineSweeperSpec();
                    break;

                case "EliteMine":
                    spec = new EliteMineSweeperSpec();
                    break;

                case "Dodger":
                    spec = new MineSweeperHoleDodgerSpec();
                    break;

                case "Cluster":
                    spec = new ClusterSweeperSpec();
                    break;

                case "RNNTest":
                    spec = new RecurrentSpec();
                    break;

                default:
                    break;
            }
            var eventArgs = new SpecEventArgs(spec);
            SpecChanged.Raise<SpecEventArgs>(this, eventArgs);
        }
Beispiel #6
0
		void CS_AnEventGen( object source, SpecEventArgs args )
		{
			Assert.That( source is ServiceProxyBase, "Source is the Proxy object (event must have been relayed and parameter must have been mapped)." );
			_anEventGenFired = true;
		}
        public void TestWithEvents()
        {
            int stdCalled = 0;
            int specCalled = 0;

            ActionSequence s = new ActionSequence();

            StdEvent += (o, e) => { stdCalled = 1; };
            SpecEvent += (o, e) => { specCalled = 1; };

            SpecEventArgs args = new SpecEventArgs();
            s.NowOrLater(SpecEvent, this, args);
            s.NowOrLater(StdEvent, this, EventArgs.Empty);

            Assert.That(stdCalled, Is.EqualTo(0));
            Assert.That(specCalled, Is.EqualTo(0));

            s.Run();
            Assert.That(stdCalled, Is.EqualTo(1));
            Assert.That(specCalled, Is.EqualTo(1));

        }