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)); }
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); }