public void CustomBinding() { var argumentobject = new object(); var customExchange = new CustomExchange("c"); var routingKey = "r"; var binding = BindingBuilder. Bind(queue). To(customExchange). With(routingKey). And(new Dictionary <string, object>() { { "k", argumentobject } }); Assert.NotNull(binding); Assert.Equal(argumentobject, binding.Arguments["k"]); Assert.Equal(customExchange.ExchangeName, binding.Exchange); Assert.Equal(Binding.DestinationType.QUEUE, binding.Type); Assert.Equal(queue.QueueName, binding.Destination); Assert.Equal(routingKey, binding.RoutingKey); }
public AbstractExchange Build() { AbstractExchange exchange; if (ExchangeTypes.DIRECT.Equals(_type)) { exchange = new DirectExchange(_name, _durable, _autoDelete, Arguments); } else if (ExchangeTypes.TOPIC.Equals(_type)) { exchange = new TopicExchange(_name, _durable, _autoDelete, Arguments); } else if (ExchangeTypes.FANOUT.Equals(_type)) { exchange = new FanoutExchange(_name, _durable, _autoDelete, Arguments); } else if (ExchangeTypes.HEADERS.Equals(_type)) { exchange = new HeadersExchange(_name, _durable, _autoDelete, Arguments); } else { exchange = new CustomExchange(_name, _type, _durable, _autoDelete, Arguments); } exchange.IsInternal = _internal; exchange.IsDelayed = _delayed; exchange.IgnoreDeclarationExceptions = _ignoreDeclarationExceptions; exchange.Declare = _declare; if (_declaringAdmins != null && _declaringAdmins.Count > 0) { exchange.SetAdminsThatShouldDeclare(_declaringAdmins.ToArray()); } return(exchange); }