Files
octokit.net/Octokit.Tests.Conventions/Exception/InterfaceHasAdditionalMethodsException.cs
2015-12-16 21:23:36 +02:00

31 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
namespace Octokit.Tests.Conventions
{
public class InterfaceHasAdditionalMethodsException : Exception
{
public InterfaceHasAdditionalMethodsException(Type type, IEnumerable<string> methodsMissingOnReactiveClient)
: base(CreateMessage(type, methodsMissingOnReactiveClient))
{ }
public InterfaceHasAdditionalMethodsException(Type type, IEnumerable<string> methodsMissingOnReactiveClient, Exception innerException)
: base(CreateMessage(type, methodsMissingOnReactiveClient), innerException)
{ }
protected InterfaceHasAdditionalMethodsException(SerializationInfo info, StreamingContext context)
: base(info, context)
{ }
static string CreateMessage(Type type, IEnumerable<string> methods)
{
var methodsFormatted = string.Join("\r\n", methods.Select(m => string.Format(" - {0}", m)));
return "Methods found on type {0} which should be removed:\r\n{1}"
.FormatWithNewLine(
type.Name,
methodsFormatted);
}
}
}