public void Parse_returns_parts(string project, string environment, string service, string[] suffix, string routingKey)
 {
     Assert.True(RoutingKey.TryParse(routingKey, out var project2, out var environment2, out var service2, out var suffix2), "TryParse");
     Assert.AreEqual(project, project2, "project");
     Assert.AreEqual(environment, environment2, "environment");
     Assert.AreEqual(service, service2, "service");
     suffix2.ShouldBeEquivalentTo(suffix);
 }
 public void Parse_fails_if_invalid_key(string routingKey)
 {
     Assert.False(RoutingKey.TryParse(routingKey, out var _, out var _, out var _, out var _));
     Assert.Throws <InvalidOperationException>(() => RoutingKey.Parse(routingKey, out var _, out var _, out var _, out var _));
 }