public void Publish_Where_Publication_Configurations_Exist_Which_Results_In_Disconnected_Result()
        {
            var _busConfigurationBuilder = new BusConfigurationBuilder();

            _busConfigurationBuilder.ConnectionUris.Add(TestingConfiguration.LocalConnectionUri);
            _busConfigurationBuilder
            .RegisterPublication <MyEvent>(
                TestingConfiguration.ExchangeName,
                typeof(MyEvent).Name);
            var _busConfirguration = _busConfigurationBuilder.Build();

            var _connectionManager = Substitute.For <IConnectionManager>();
            var _context           = Substitute.For <IBusContext>();

            var _SUT = new Disconnected(
                _busConfirguration,
                _connectionManager,
                _context);

            var _theEvent          = new MyEvent(Guid.NewGuid(), null, "Some detail", 1);
            var _publicationResult = _SUT.PublishAsync(_theEvent);

            _publicationResult.Wait();

            Assert.AreEqual(PMCG.Messaging.PublicationResultStatus.Disconnected, _publicationResult.Result.Status);
        }
		public void Publish_Where_No_Publication_Configurations_Which_Results_In_A_NoConfigurationFound_Result()
		{
			var _busConfigurationBuilder = new BusConfigurationBuilder();
			_busConfigurationBuilder.ConnectionUris.Add(TestingConfiguration.LocalConnectionUri);
			var _busConfirguration = _busConfigurationBuilder.Build();

			var _connectionManager = Substitute.For<IConnectionManager>();
			var _context = Substitute.For<IBusContext>();

			var _SUT = new Disconnected(
				_busConfirguration,
				_connectionManager,
				_context);

			var _theEvent = new MyEvent(Guid.NewGuid(), null, "Some detail", 1);
			var _publicationResult = _SUT.PublishAsync(_theEvent);
			_publicationResult.Wait();

			Assert.AreEqual(PMCG.Messaging.PublicationResultStatus.NoConfigurationFound, _publicationResult.Result.Status);
		}