public void AddTopics_OnValidTopics() { // Arrange var topics = Fixture.Create <string[]>(); ITopicBuilder builder = new TopicBuilder(topics.Length + 1, TopicConsumer.Subscriber); // Act builder = builder.AddTopics(topics); // Assert builder.Levels .Should() .Be(topics.Length, "because all topics should have been added"); }
public void AddTopics_OnTopicsWithMultiLevelWildcard() { // Arrange var topics = Fixture.Create <List <string> >(); topics.Add(Mqtt.Wildcard.MultiLevel.ToString()); topics.AddRange(Fixture.Create <List <string> >()); ITopicBuilder builder = new TopicBuilder(topics.Count + 1, TopicConsumer.Subscriber); // Act Action addTopicsWithAMultiLevelWildcard = () => builder.AddTopics(topics); // Assert addTopicsWithAMultiLevelWildcard.Should() .Throw <IllegalTopicConstructionException>( "because adding a multi-level wildcard among other topics is not valid"); }