public void CorrectlyResolveByName(string name, Type type) { var fromGet = _namedResolver.Get(name); var itemFound = _namedResolver.TryGet(out var fromTryGet, name); var fromIndexer = _namedResolver[name]; var fromGetRequired = _namedResolver.GetRequired(name); Assert.Multiple(() => { Assert.IsNotNull(fromGet); Assert.IsNotNull(fromTryGet); Assert.IsNotNull(fromIndexer); Assert.IsNotNull(fromGetRequired); Assert.IsTrue(itemFound); Assert.AreEqual(type, fromGet.GetType()); Assert.AreEqual(type, fromTryGet.GetType()); Assert.AreEqual(type, fromIndexer.GetType()); Assert.AreEqual(type, fromGetRequired.GetType()); Assert.AreSame(fromGet, fromTryGet); Assert.AreSame(fromIndexer, fromTryGet); Assert.AreSame(fromGetRequired, fromTryGet); }); }
/// <summary> /// Получить поведение. /// </summary> /// <typeparam name="TMessage">Тип сообщения.</typeparam> /// <param name="subscriberSettings">Настройки подписчика.</param> /// <returns>Поведение оповещения брокера сообщений.</returns> public IAcknowledgementBehaviour GetBehaviour <TMessage>(SubscriberSettings subscriberSettings) { if (_resolver.TryGet(out var acknowledgementBehaviour, typeof(TMessage).Name)) { return(acknowledgementBehaviour); } return(_resolver.GetRequired()); }
/// <summary> /// Получить подписчика. /// </summary> /// <typeparam name="TMessage">Тип сообщения.</typeparam> /// <returns>Подписчик.</returns> public ISubscriber GetSubscriber <TMessage>() where TMessage : IMessage { if (_resolver.TryGet(out var subscriber, typeof(TMessage).Name)) { return(subscriber); } return(_resolver.GetRequired()); }
public void ThrowsIfNotFound(string name) { Assert.Throws <InvalidOperationException>(() => _namedResolver.GetRequired(name)); }
public void ThrowIfNotFound(string value) { var customClassForResolver = CreateWith(value); Assert.Throws <InvalidOperationException>(() => _namedResolver.GetRequired(customClassForResolver)); }
public void ThrowIfNotFound(EnumForResolver enumForResolver) { Assert.Throws <InvalidOperationException>(() => _namedResolver.GetRequired(enumForResolver)); }