public void should_get_part_for_member(string memberName, string expectedValue)
        {
            // Arrange
            var otherId      = Guid.Parse("793e1561-26e4-4737-817f-996b986c1666");
            var subscription = Subscription.Matching <FakeRoutableCommand>(x => x.Id == 123 && x.Name == "456" && x.OtherId == otherId);

            // Act
            var part = subscription.GetBindingKeyPartForMember(memberName);

            // Assert
            part.ShouldEqual(BindingKeyPart.Parse(expectedValue));
        }
Exemple #2
0
        public void should_get_binding_key_parts_for_member()
        {
            // Arrange
            var bindingKeys = new[]
            {
                Subscription.Matching <StrangeRoutableMessage>(x => x.Id == 123).BindingKey,
                Subscription.Matching <StrangeRoutableMessage>(x => x.Code == "456").BindingKey,
                Subscription.Matching <StrangeRoutableMessage>(x => x.Id == 123 && x.Code == "456").BindingKey,
                Subscription.Any <StrangeRoutableMessage>().BindingKey,
            };

            // Act
            var partsForId   = BindingKeyUtil.GetPartsForMember(MessageUtil.TypeId <StrangeRoutableMessage>(), nameof(StrangeRoutableMessage.Id), bindingKeys);
            var partsForCode = BindingKeyUtil.GetPartsForMember(MessageUtil.TypeId <StrangeRoutableMessage>(), nameof(StrangeRoutableMessage.Code), bindingKeys);

            // Assert
            partsForId.ShouldBeEquivalentTo(BindingKeyPart.Parse("123"), BindingKeyPart.Star, BindingKeyPart.Parse("123"), BindingKeyPart.Star);
            partsForCode.ShouldBeEquivalentTo(BindingKeyPart.Star, BindingKeyPart.Parse("456"), BindingKeyPart.Parse("456"), BindingKeyPart.Star);
        }