Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }