public void Can_get_formatted_message(RosFieldSerializationException.SerializationOperation op, string[] identifierSlugs) { var target = CreateRosFieldSerializationException(identifierSlugs, null, op); var expectedIdentifier = CreateExpectedIdentifier(identifierSlugs); var expectedVerb = ""; switch (op) { case RosFieldSerializationException.SerializationOperation.Serialize: expectedVerb = "serialize"; break; case RosFieldSerializationException.SerializationOperation.Deserialize: expectedVerb = "deserialize"; break; } target.Message.Should().NotBeNullOrEmpty(); target.Message.Should().Contain(expectedIdentifier); target.Message.Should().Contain(expectedVerb); }
private static RosFieldSerializationException CreateRosFieldSerializationException(string[] identifierSlugs, Exception innerException = null, RosFieldSerializationException.SerializationOperation op = RosFieldSerializationException.SerializationOperation.Serialize) { var reversedSlugs = identifierSlugs.Reverse(); var target = new RosFieldSerializationException(op, reversedSlugs.FirstOrDefault(), innerException); foreach (var slug in reversedSlugs.Skip(1)) { target.AddLeadingRosIdentifier(slug); } return(target); }