Наследование: System.Exception
 private void ErrorAndMessageAreSet()
 {
     var error = new Error("id");
     var ex = new BaseException(error, message: "aMessage");
     Assert.Same(error, ex.Error);
     Assert.Equal("aMessage", ex.Message);
 }
 private void ErrorAndInnerExceptionAreSet()
 {
     var innerEx = new Exception("inner");
     var error = new Error("id");
     var ex = new BaseException(error, innerException: innerEx);
     Assert.Same(error, ex.Error);
     Assert.Same(innerEx, ex.InnerException);
 }
 private void MessageIsSetInPropertyAndErrorObject()
 {
     var ex = new BaseException("aMessage");
     Assert.Equal("aMessage", ex.Message);
     Assert.NotNull(ex.Error);
     Assert.Equal(1, ex.Error.Messages.Count());
     Assert.Equal("aMessage", ex.Error.Messages.First().Message);
 }
 private void MessageAndInnerExceptionAreSetInPropertiesAndErrorObject()
 {
     var innerEx = new Exception("innerMessage");
     var ex = new BaseException("aMessage", innerEx);
     Assert.Equal("aMessage", ex.Message);
     Assert.Same(innerEx, ex.InnerException);
     Assert.NotNull(ex.Error);
     Assert.Equal(1, ex.Error.Messages.Count());
     Assert.Equal("aMessage", ex.Error.Messages.First().Message);
 }
 private void ErrorIsSet()
 {
     var error = new Error("id");
     var ex = new BaseException(error);
     Assert.Same(error, ex.Error);
 }