// $Id$ // // Copyright 2007-2008 Cisco Systems Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy // of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the // License for the specific language governing permissions and limitations // under the License. using System; using Etch.Util; using NUnit.Framework; using Etch.Msg; using Etch.Support; using Etch.Transport; namespace Etch.Support { [TestFixture] public class TestStubBase { [TestFixtureSetUp] public void First() { Console.WriteLine(); Console.Write( "TestStubBase" ); } public enum What { /** wanted message delivered */ UNWANTED }; [Test] public void Nothing() { } //[Test] [ExpectedException("System.InvalidOperationException")] public void Unwanted3() { Object obj = new Object(); DeliveryService src = new MyMessageSource(); StubBase sb = new StubBase( src, obj, null, null ); Who sender = new MyWho(); Message msg = new Message(null, null); sb.SessionMessage(sender, msg); Assert.Fail("delivery of unwanted message should fail"); } //[Test] [ExpectedException("System.InvalidOperationException")] public void Unwanted4() { Object obj = new Object(); DeliveryService src = new MyMessageSource(); StubBase sb = new StubBase( src, obj, null, null ); Who sender = new MyWho(); Message msg = new Message(null, null); sb.SessionMessage(sender, msg); Assert.Fail("delivery of unwanted message should fail"); } public class MyMessageSource : DeliveryService { #region TransportMessage Members public void TransportMessage(Who recipient, Message msg) { Assert.Fail("not needed"); } #endregion #region Transport Members public object TransportQuery(object query) { throw new Exception("The method or operation is not implemented."); } public void TransportControl(object control, object value) { throw new Exception("The method or operation is not implemented."); } public void TransportNotify(object eventObj) { throw new Exception("The method or operation is not implemented."); } public void SetSession(SessionMessage session) { throw new Exception("The method or operation is not implemented."); } #endregion #region DeliveryService Members public Mailbox BeginCall(Message msg) { throw new Exception("The method or operation is not implemented."); } public object EndCall(Mailbox mb, XType responseType) { throw new Exception("The method or operation is not implemented."); } #endregion #region SessionMessage Members public bool SessionMessage(Who sender, Message msg) { throw new Exception("The method or operation is not implemented."); } #endregion #region Session Members public object SessionQuery(object query) { throw new Exception("The method or operation is not implemented."); } public void SessionControl(object control, object value) { throw new Exception("The method or operation is not implemented."); } public void SessionNotify(object eventObj) { throw new Exception("The method or operation is not implemented."); } #endregion #region Transport Members public SessionMessage GetSession() { throw new Exception("The method or operation is not implemented."); } #endregion } } public class MyWho : Who { } }