public void Constructor_with_2_arguments_should_work()
 {
     var query = new BsonDocument("query", 1);
     var exception = new MongoQueryException("message", query);
     exception.Message.Should().Be("message");
     exception.InnerException.Should().BeNull();
     exception.Query.Equals(query).Should().BeTrue();
     exception.QueryResult.Should().BeNull();
 }
 public void Constructor_with_4_arguments_should_work()
 {
     var query = new BsonDocument("query", 1);
     var result = new BsonDocument("result", 2);
     var innerException = new Exception("inner");
     var exception = new MongoQueryException("message", query, result, innerException);
     exception.Message.Should().Be("message");
     exception.InnerException.Message.Should().Be("inner");
     exception.Query.Equals(query).Should().BeTrue();
     exception.QueryResult.Equals(result).Should().BeTrue();
 }
        public void Serialization_should_work()
        {
            var query = new BsonDocument("query", 1);
            var result = new BsonDocument("result", 2);
            var innerException = new Exception("inner");
            var exception = new MongoQueryException("message", query, result, innerException);

            var formatter = new BinaryFormatter();
            using (var stream = new MemoryStream())
            {
                formatter.Serialize(stream, exception);
                stream.Position = 0;
                var rehydrated = (MongoQueryException)formatter.Deserialize(stream);
                rehydrated.Message.Should().Be("message");
                rehydrated.InnerException.Message.Should().Be("inner");
                rehydrated.Query.Equals(query).Should().BeTrue();
                rehydrated.QueryResult.Equals(result).Should().BeTrue();
            }
        }
Beispiel #4
0
        public static MongoError GetError(this MongoQueryException exception)
        {
            var result = exception.QueryResult;

            return(result != null?GetMongoError(result) : MongoError.Unknown);
        }