<Rule Id="xUnit1010" Action="None" /> <!-- The value is not convertible to the method parameter type -->
<Rule Id="xUnit1019" Action="None" /> <!-- MemberData must reference a member providing a valid data type -->
<Rule Id="xUnit1024" Action="None" /> <!-- Test methods cannot have overloads -->
- <Rule Id="xUnit1025" Action="None" /> <!-- InlineData should be unique within the Theory it belongs to -->
<Rule Id="xUnit1026" Action="None" /> <!-- Theory methods should use all of their parameters -->
<Rule Id="xUnit2000" Action="None" /> <!-- Constants and literals should be the expected argument -->
<Rule Id="xUnit2002" Action="None" /> <!-- Do not use null check on value type -->
}
[Theory]
- [InlineData(true)]
+ [InlineData(false)]
[InlineData(true)]
public virtual void Write_ArgumentValidation(bool useAsync)
{
}
[Theory]
- [InlineData(true)]
+ [InlineData(false)]
[InlineData(true)]
public virtual void Read_ArgumentValidation(bool useAsync)
{
[InlineData("HELLO", 2, "hello", 2, 3, StringComparison.Ordinal, -1)]
[InlineData("Hello", 2, "Goodbye", 2, 3, StringComparison.Ordinal, -1)]
[InlineData("Hello", 0, "Hello", 0, 0, StringComparison.Ordinal, 0)]
- [InlineData("Hello", 0, "Hello", 0, 5, StringComparison.Ordinal, 0)]
[InlineData("Hello", 0, "Hello", 0, 3, StringComparison.Ordinal, 0)]
- [InlineData("Hello", 2, "Hello", 2, 3, StringComparison.Ordinal, 0)]
[InlineData("Hello", 0, "He" + SoftHyphen + "llo", 0, 5, StringComparison.Ordinal, -1)]
[InlineData("Hello", 0, "-=<Hello>=-", 3, 5, StringComparison.Ordinal, 0)]
[InlineData("\uD83D\uDD53Hello\uD83D\uDD50", 1, "\uD83D\uDD53Hello\uD83D\uDD54", 1, 7, StringComparison.Ordinal, 0)] // Surrogate split
[InlineData("Hello", 'l', 3, 0, -1)]
[InlineData("Hello", 'l', 0, 2, -1)]
[InlineData("Hello", 'l', 0, 3, 2)]
- [InlineData("Hello", 'l', 4, 1, -1)]
- [InlineData("Hello", 'x', 1, 4, -1)]
[InlineData("Hello", 'o', 5, 0, -1)]
[InlineData("H" + SoftHyphen + "ello", 'e', 0, 3, 2)]
// For some reason, this is failing on *nix with ordinal comparisons.
[InlineData("Hello", 'l', 1, 2, -1)]
[InlineData("Hello", 'l', 0, 1, -1)]
[InlineData("Hello", 'x', 3, 4, -1)]
- [InlineData("Hello", 'l', 3, 4, 3)]
- [InlineData("Hello", 'l', 1, 2, -1)]
[InlineData("Hello", 'l', 1, 0, -1)]
[InlineData("Hello", 'l', 4, 2, 3)]
[InlineData("Hello", 'l', 4, 3, 3)]
- [InlineData("Hello", 'l', 0, 1, -1)]
- [InlineData("Hello", 'x', 3, 4, -1)]
[InlineData("H" + SoftHyphen + "ello", 'H', 2, 3, 0)]
[InlineData("", 'H', 0, 0, -1)]
public static void LastIndexOf_SingleLetter(string s, char value, int startIndex, int count, int expected)
[InlineData("12x", false)]
[InlineData("123", true)]
[InlineData('1', true)]
- [InlineData('a', false)]
[InlineData("&O123", true)]
[InlineData("&H123", true)]
public void IsNumeric(object value, bool expected)
[InlineData("12x", false)]
[InlineData("123", true)]
[InlineData('1', true)]
- [InlineData('a', false)]
[InlineData("&O123", true)]
[InlineData("&H123", true)]
public void IsNumeric(object value, bool expected)
[InlineData("", "", -1, CompareMethod.Text, new string[] { "" })]
[InlineData("ABC", ",", -1, CompareMethod.Text, new string[] { "ABC" })]
[InlineData("A,,BC", ",", -1, CompareMethod.Text, new string[] { "A", "", "BC" })]
- [InlineData("A,,BC", ",", -1, CompareMethod.Text, new string[] { "A", "", "BC" })]
[InlineData("ABC", "b", -1, CompareMethod.Text, new string[] { "A", "C" })]
[InlineData("ABC", "b", -1, CompareMethod.Binary, new string[] { "ABC" })]
[InlineData("A, B, C", ", ", -1, CompareMethod.Text, new string[] { "A", "B", "C" })]
[InlineData(CodeRegionMode.None - 1)]
[InlineData(CodeRegionMode.None)]
[InlineData(CodeRegionMode.Start | CodeRegionMode.End)]
- [InlineData(CodeRegionMode.End + 1)]
public void Value_Set_Get_ReturnsExpected(CodeRegionMode value)
{
var region = new CodeRegionDirective();
[InlineData(" cs ", "c#")]
[InlineData(".cs", "c#")]
[InlineData("Cs", "c#")]
- [InlineData("cs", "c#")]
[InlineData("vb", "vb")]
[InlineData(".vb", "vb")]
[InlineData("VB", "vb")]
[InlineData("cs", true)]
[InlineData(".cs", true)]
[InlineData("Cs", true)]
- [InlineData("cs", true)]
[InlineData("vb", true)]
[InlineData(".vb", true)]
[InlineData("VB", true)]
[Theory]
[InlineData(0, true)]
[InlineData(0, false)]
- [InlineData(0, true)]
+ [InlineData(5, true)]
[InlineData(5, false)]
[InlineData(50, true)]
[InlineData(50, false)]
[Theory]
[InlineData(10, 0, 10)]
[InlineData(10, 3, 3)]
- [InlineData(10, 0, 10)]
[InlineData(10, 10, 0)]
[InlineData(10, 5, 5)]
[InlineData(10, 0, 5)]
[InlineData("Font")]
[InlineData("Format")]
[InlineData("Key")]
- [InlineData("Format")]
[InlineData("Layout")]
[InlineData("List")]
[InlineData("Mouse")]
[InlineData("Position")]
[InlineData("Scale")]
- [InlineData("Position")]
[InlineData("Text")]
[InlineData("WindowStyle")]
public void GetLocalizedString_InvokeValueExists_ReturnsNonEmpty(string value)
// Exclusive out of range
InlineData(2, 1, 1, 1, true, false, null),
InlineData(3, 1, 2, 1, true, false, null),
- InlineData(3, 1, 2, 1, true, false, null),
// Not exclusive out of range
InlineData(2, 1, 1, 1, false, true, "Validation_scalar_range_violation_not_equal"),
InlineData(3, 1, 2, 1, false, true, "Validation_scalar_range_violation_not_in_range"),
- InlineData(3, 1, 2, 1, false, true, "Validation_scalar_range_violation_not_in_range")
]
public void ValidateIntScalar(int value, int min, int max, int resolution, bool exclusiveRange, bool shouldThrow, string message)
{
[OuterLoop]
[ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotArm64Process))] // [ActiveIssue(35539)]
[InlineData(100, 100)] // run multiple times to stress it further
- [InlineData(100, 100)]
- [InlineData(100, 100)]
- [InlineData(100, 100)]
- [InlineData(100, 100)]
+ [InlineData(100, 101)]
+ [InlineData(100, 102)]
+ [InlineData(100, 103)]
+ [InlineData(100, 104)]
public void AllSubscriberStress(int numThreads, int numListenersPerThread)
{
// No listeners have been created yet
[InlineData(PixelFormat.Undefined - 1)]
[InlineData(PixelFormat.Undefined)]
[InlineData(PixelFormat.Gdi - 1)]
- [InlineData(PixelFormat.DontCare)]
[InlineData(PixelFormat.Max)]
[InlineData(PixelFormat.Indexed)]
[InlineData(PixelFormat.Gdi)]
[ConditionalTheory(Helpers.IsDrawingSupported)]
[InlineData(0, 0, 4, 1)]
[InlineData(0, 0, 1, 4)]
- [InlineData(0, 0, 1, 4)]
[InlineData(1, 0, 3, 1)]
[InlineData(0, 1, 1, 3)]
[InlineData(4, 1, 1, 1)]
[InlineData(FlushIntention.Flush)]
[InlineData(FlushIntention.Sync)]
[InlineData(FlushIntention.Flush - 1)] // Not in the range of valid values of FlushIntention.
- [InlineData(FlushIntention.Sync - 1)] // Not in the range of valid values of FlushIntention.
+ [InlineData(FlushIntention.Sync + 1)] // Not in the range of valid values of FlushIntention.
public void Flush_MultipleTimes_Success(FlushIntention intention)
{
using (var image = new Bitmap(10, 10))
[InlineData(float.NegativeInfinity)]
[InlineData(float.PositiveInfinity)]
[InlineData(float.NaN)]
- [InlineData(float.PositiveInfinity)]
public void Ctor_Color_Width(float width)
{
using (var pen = new Pen(Color.Red, width))
// Rotate 1- and 4-bit bitmaps in different ways and check the
// resulting pixels using MD5
[ConditionalTheory(Helpers.IsDrawingSupported)]
- [InlineData("1bit.png", RotateFlipType.RotateNoneFlipNone, "A4DAF507C92BDE10626BC7B34FEFE5")]
- [InlineData("1bit.png", RotateFlipType.Rotate180FlipXY, "A4DAF507C92BDE10626BC7B34FEFE5")]
- [InlineData("1bit.png", RotateFlipType.Rotate90FlipNone, "C0975EAFD2FC1CC9CC7AF20B92FC9F")]
- [InlineData("1bit.png", RotateFlipType.Rotate270FlipXY, "C0975EAFD2FC1CC9CC7AF20B92FC9F")]
[InlineData("1bit.png", RotateFlipType.Rotate180FlipNone, "64AE60858A02228F7B1B18C7812FB6")]
- [InlineData("1bit.png", RotateFlipType.RotateNoneFlipXY, "64AE60858A02228F7B1B18C7812FB6")]
- [InlineData("1bit.png", RotateFlipType.Rotate270FlipNone, "E96D3390938350F9DE2608C4364424")]
- [InlineData("1bit.png", RotateFlipType.Rotate90FlipXY, "E96D3390938350F9DE2608C4364424")]
- [InlineData("1bit.png", RotateFlipType.RotateNoneFlipX, "23947CE822C1DDE6BEA69C01F8D0D9")]
- [InlineData("1bit.png", RotateFlipType.Rotate180FlipY, "23947CE822C1DDE6BEA69C01F8D0D9")]
- [InlineData("1bit.png", RotateFlipType.Rotate90FlipX, "BE45F685BDEBD7079AA1B2CBA46723")]
- [InlineData("1bit.png", RotateFlipType.Rotate270FlipY, "BE45F685BDEBD7079AA1B2CBA46723")]
[InlineData("1bit.png", RotateFlipType.Rotate180FlipX, "353E937CFF31B1BF6C3DD0A031ACB5")]
- [InlineData("1bit.png", RotateFlipType.RotateNoneFlipY, "353E937CFF31B1BF6C3DD0A031ACB5")]
+ [InlineData("1bit.png", RotateFlipType.Rotate180FlipXY, "A4DAF507C92BDE10626BC7B34FEFE5")]
+ [InlineData("1bit.png", RotateFlipType.Rotate180FlipY, "23947CE822C1DDE6BEA69C01F8D0D9")]
+ [InlineData("1bit.png", RotateFlipType.Rotate270FlipNone, "E96D3390938350F9DE2608C4364424")]
[InlineData("1bit.png", RotateFlipType.Rotate270FlipX, "AEA18A770A845E25B6A8CE28DD6DCB")]
- [InlineData("1bit.png", RotateFlipType.Rotate90FlipY, "AEA18A770A845E25B6A8CE28DD6DCB")]
- [InlineData("4bit.png", RotateFlipType.RotateNoneFlipNone, "3CC874B571902366AACED5D619E87D")]
- [InlineData("4bit.png", RotateFlipType.Rotate180FlipXY, "3CC874B571902366AACED5D619E87D")]
- [InlineData("4bit.png", RotateFlipType.Rotate90FlipNone, "8DE25C7E1BE4A3B535DB5D83198D83")]
- [InlineData("4bit.png", RotateFlipType.Rotate270FlipXY, "8DE25C7E1BE4A3B535DB5D83198D83")]
+ [InlineData("1bit.png", RotateFlipType.Rotate270FlipXY, "C0975EAFD2FC1CC9CC7AF20B92FC9F")]
+ [InlineData("1bit.png", RotateFlipType.Rotate270FlipY, "BE45F685BDEBD7079AA1B2CBA46723")]
[InlineData("4bit.png", RotateFlipType.Rotate180FlipNone, "27CF5E9CE70BE9EBC47FB996721B95")]
- [InlineData("4bit.png", RotateFlipType.RotateNoneFlipXY, "27CF5E9CE70BE9EBC47FB996721B95")]
- [InlineData("4bit.png", RotateFlipType.Rotate270FlipNone, "A919CCB8F97CAD7DC1F01026D11A5D")]
- [InlineData("4bit.png", RotateFlipType.Rotate90FlipXY, "A919CCB8F97CAD7DC1F01026D11A5D")]
- [InlineData("4bit.png", RotateFlipType.RotateNoneFlipX, "545876C99ACF833E69FBFFBF436034")]
- [InlineData("4bit.png", RotateFlipType.Rotate180FlipY, "545876C99ACF833E69FBFFBF436034")]
- [InlineData("4bit.png", RotateFlipType.Rotate90FlipX, "5DB56687757CDEFC52D89C77CA9223")]
- [InlineData("4bit.png", RotateFlipType.Rotate270FlipY, "5DB56687757CDEFC52D89C77CA9223")]
[InlineData("4bit.png", RotateFlipType.Rotate180FlipX, "05A77EDDCDF20D5B0AC0169E95D7D7")]
- [InlineData("4bit.png", RotateFlipType.RotateNoneFlipY, "05A77EDDCDF20D5B0AC0169E95D7D7")]
+ [InlineData("4bit.png", RotateFlipType.Rotate180FlipXY, "3CC874B571902366AACED5D619E87D")]
+ [InlineData("4bit.png", RotateFlipType.Rotate180FlipY, "545876C99ACF833E69FBFFBF436034")]
+ [InlineData("4bit.png", RotateFlipType.Rotate270FlipNone, "A919CCB8F97CAD7DC1F01026D11A5D")]
[InlineData("4bit.png", RotateFlipType.Rotate270FlipX, "B6B6245796C836923ABAABDF368B29")]
- [InlineData("4bit.png", RotateFlipType.Rotate90FlipY, "B6B6245796C836923ABAABDF368B29")]
+ [InlineData("4bit.png", RotateFlipType.Rotate270FlipXY, "8DE25C7E1BE4A3B535DB5D83198D83")]
+ [InlineData("4bit.png", RotateFlipType.Rotate270FlipY, "5DB56687757CDEFC52D89C77CA9223")]
[PlatformSpecific(TestPlatforms.AnyUnix)]
public void Rotate1bit4bit(string file, RotateFlipType type, string md5)
{
[InlineData(float.MinValue, -1.0f)]
[InlineData(float.MinValue, 0.0f)]
[InlineData(1.0f, float.MinValue)]
- [InlineData(1.0f, float.MinValue)]
- [InlineData(-1.0f, float.MinValue)]
+ [InlineData(1.0f, float.MaxValue)]
[InlineData(-1.0f, float.MinValue)]
+ [InlineData(-1.0f, float.MaxValue)]
public void DivideTestSizeFloat(float dimension, float divisor)
{
SizeF size = new SizeF(dimension, dimension);
[InlineData(false, false)]
[InlineData(false, true)]
[InlineData(true, false)]
- [InlineData(true, false)]
+ [InlineData(true, true)]
public async Task DisposeAsync_Flushes(bool derived, bool leaveOpen)
{
var ms = new MemoryStream();
[InlineData(false, false)]
[InlineData(false, true)]
[InlineData(true, false)]
- [InlineData(true, false)]
+ [InlineData(true, true)]
public async Task DisposeAsync_MultipleCallsAllowed(bool derived, bool leaveOpen)
{
using (var ds = derived ?
[InlineData(false, false)]
[InlineData(false, true)]
[InlineData(true, false)]
- [InlineData(true, false)]
+ [InlineData(true, true)]
public async Task DisposeAsync_Flushes(bool derived, bool leaveOpen)
{
var ms = new MemoryStream();
[InlineData(false, false)]
[InlineData(false, true)]
[InlineData(true, false)]
- [InlineData(true, false)]
+ [InlineData(true, true)]
public async Task DisposeAsync_MultipleCallsAllowed(bool derived, bool leaveOpen)
{
using (var gs = derived ?
[InlineData((WatcherChangeTypes)0)]
[InlineData((WatcherChangeTypes)int.MinValue)]
[InlineData((WatcherChangeTypes)int.MaxValue)]
- [InlineData((WatcherChangeTypes)int.MaxValue)]
public static void WaitForChangedResult_ChangeType_Roundtrip(WatcherChangeTypes changeType)
{
var result = new WaitForChangedResult();
[InlineData("filename", "")]
[InlineData("foo.bar.fkl;fkds92-509450-4359.$#%()#%().%#(%)_#(%_)", ".cool")]
[InlineData("filename", ".$#@$_)+_)!@@!!@##&_$)#_")]
- [InlineData("filename", ".$#@$_)+_)!@@!!@##&_$)#_")]
public void ValidExtensions(string fileName, string extension)
{
string path = Path.Combine(TestDirectory, fileName + extension);
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
-using System;
using System.Collections.Generic;
using Xunit;
+#pragma warning disable xUnit1025 // analyzer is flagging unique InlineDatas as duplicates
+
namespace System.MemoryTests
{
public static partial class MemoryTests
[InlineData((HttpStatusCode)208)] // AlreadyReported
[InlineData((HttpStatusCode)226)] // IMUsed
[InlineData(HttpStatusCode.Ambiguous)]
- [InlineData(HttpStatusCode.Ambiguous)]
[InlineData(HttpStatusCode.NotModified)]
[InlineData(HttpStatusCode.UseProxy)]
[InlineData(HttpStatusCode.Unused)]
[Theory]
[InlineData(CancellationMode.CancelPendingRequests, false)]
- [InlineData(CancellationMode.DisposeHttpClient, true)]
- [InlineData(CancellationMode.CancelPendingRequests, false)]
+ [InlineData(CancellationMode.DisposeHttpClient, false)]
+ [InlineData(CancellationMode.CancelPendingRequests, true)]
[InlineData(CancellationMode.DisposeHttpClient, true)]
public async Task GetAsync_CancelPendingRequests_DoesntCancelReadAsyncOnResponseStream(CancellationMode mode, bool copyToAsync)
{
[Theory]
[InlineData(AuthenticationSchemes.Basic)]
- [InlineData(AuthenticationSchemes.Basic | AuthenticationSchemes.None)]
[InlineData(AuthenticationSchemes.Basic | AuthenticationSchemes.Anonymous)]
public async Task BasicAuthentication_ValidUsernameAndPassword_Success(AuthenticationSchemes authScheme)
{
[InlineData("http://localhost:9200")]
[InlineData("http://localhost/path")]
[InlineData("http://::/")]
- [InlineData("http://::/")]
public void Add_InvalidPrefix_ThrowsArgumentException(string uriPrefix)
{
var listener = new HttpListener();
[Theory]
[InlineData("Accept: Test", new string[] { "Test" })]
[InlineData("Accept: Test, Test2,Test3 , Test4", new string[] { "Test", "Test2", "Test3 ", " Test4" })]
- [InlineData("Accept: Test", new string[] { "Test" })]
[InlineData("Accept: ", new string[] { "" })]
[InlineData("Unknown-Header: ", null)]
public async Task AcceptTypes_GetProperty_ReturnsExpected(string acceptString, string[] expected)
[InlineData("PUT", "Content-Length: 1\nContent-Length: 1", 1, true)]
[InlineData("POST", "Transfer-Encoding: chunked", -1, true)]
[InlineData("PUT", "Transfer-Encoding: chunked", -1, true)]
- [InlineData("PUT", "Transfer-Encoding: chunked", -1, true)]
[InlineData("PUT", "Content-Length: 10\nTransfer-Encoding: chunked", -1, true)]
[InlineData("PUT", "Transfer-Encoding: chunked\nContent-Length: 10", -1, true)]
public async Task ContentLength_GetProperty_ReturnsExpected(string method, string contentLengthString, long expected, bool hasEntityBody)
[ConditionalTheory(nameof(IsNotWindows7))]
[InlineData(WebSocketMessageType.Close)]
[InlineData(WebSocketMessageType.Text - 1)]
- [InlineData(WebSocketMessageType.Binary + 1)]
public async Task SendAsync_InvalidMessageType_ThrowsArgumentNullException(WebSocketMessageType messageType)
{
HttpListenerWebSocketContext context = await GetWebSocketContext();
[Theory]
[InlineData(SmtpDeliveryMethod.SpecifiedPickupDirectory)]
[InlineData(SmtpDeliveryMethod.PickupDirectoryFromIis)]
- [InlineData(SmtpDeliveryMethod.PickupDirectoryFromIis)]
public void DeliveryMethodTest(SmtpDeliveryMethod method)
{
Smtp.DeliveryMethod = method;
//[Variation("Style sheet has import/include, call Load first with default resolver and then with custom null resolver, should fail", Param = "XmlResolverTestMain.txt")]
[InlineData("XmlResolverTestMain.txt", XslInputType.URI, ReaderType.XmlValidatingReader)]
- [InlineData("XmlResolverTestMain.txt", XslInputType.URI, ReaderType.XmlValidatingReader)]
- [InlineData("XmlResolverTestMain.txt", XslInputType.URI, ReaderType.XmlValidatingReader)]
- [InlineData("XmlResolverTestMain.txt", XslInputType.Reader, ReaderType.XmlValidatingReader)]
[InlineData("XmlResolverTestMain.txt", XslInputType.Reader, ReaderType.XmlValidatingReader)]
- [InlineData("XmlResolverTestMain.txt", XslInputType.Reader, ReaderType.XmlValidatingReader)]
- [InlineData("XmlResolverTestMain.txt", XslInputType.Navigator, ReaderType.XmlValidatingReader)]
- [InlineData("XmlResolverTestMain.txt", XslInputType.Navigator, ReaderType.XmlValidatingReader)]
[InlineData("XmlResolverTestMain.txt", XslInputType.Navigator, ReaderType.XmlValidatingReader)]
[Theory]
public void LoadGeneric8(object param, XslInputType xslInputType, ReaderType readerType)
[InlineData(TransformType.Stream, DocType.XPathDocument)]
[InlineData(TransformType.Writer, DocType.XPathDocument)]
[InlineData(TransformType.TextWriter, DocType.XPathDocument)]
- [InlineData(TransformType.Reader, DocType.XPathDocument)]
- [InlineData(TransformType.Writer, DocType.XPathDocument)]
- [InlineData(TransformType.Stream, DocType.XPathDocument)]
- [InlineData(TransformType.TextWriter, DocType.XPathDocument)]
- [InlineData(TransformType.Reader, DocType.XPathDocument)]
- [InlineData(TransformType.Writer, DocType.XPathDocument)]
- [InlineData(TransformType.Stream, DocType.XPathDocument)]
- [InlineData(TransformType.TextWriter, DocType.XPathDocument)]
[Theory]
public void TransformGeneric4(TransformType transformType, DocType docType)
{
[InlineData(MethodAttributes.MemberAccessMask)]
[InlineData(MethodAttributes.NewSlot)]
[InlineData(MethodAttributes.Private)]
- [InlineData(MethodAttributes.PrivateScope)]
[InlineData(MethodAttributes.Public)]
[InlineData(MethodAttributes.RequireSecObject)]
[InlineData(MethodAttributes.ReuseSlot)]
[InlineData(MethodAttributes.Static)]
[InlineData(MethodAttributes.UnmanagedExport)]
[InlineData(MethodAttributes.Virtual)]
- [InlineData(MethodAttributes.VtableLayoutMask)]
public void GetILGenerator_ReturnsNonNull(MethodAttributes attributes)
{
TypeBuilder type = Helpers.DynamicType(TypeAttributes.NotPublic);
[InlineData(MethodAttributes.MemberAccessMask)]
[InlineData(MethodAttributes.NewSlot)]
[InlineData(MethodAttributes.Private)]
- [InlineData(MethodAttributes.PrivateScope)]
[InlineData(MethodAttributes.Public)]
[InlineData(MethodAttributes.RequireSecObject)]
[InlineData(MethodAttributes.ReuseSlot)]
[InlineData(MethodAttributes.Static)]
[InlineData(MethodAttributes.UnmanagedExport)]
[InlineData(MethodAttributes.Virtual)]
- [InlineData(MethodAttributes.VtableLayoutMask)]
[InlineData(MethodAttributes.Assembly | MethodAttributes.CheckAccessOnOverride |
MethodAttributes.FamORAssem | MethodAttributes.Final |
MethodAttributes.HasSecurity | MethodAttributes.HideBySig | MethodAttributes.MemberAccessMask |
public class MethodBuilderSetImplementationFlags
{
[Theory]
- [InlineData(MethodImplAttributes.CodeTypeMask)]
[InlineData(MethodImplAttributes.ForwardRef)]
[InlineData(MethodImplAttributes.IL)]
[InlineData(MethodImplAttributes.InternalCall)]
- [InlineData(MethodImplAttributes.Managed)]
- [InlineData(MethodImplAttributes.ManagedMask)]
[InlineData(MethodImplAttributes.Native)]
[InlineData(MethodImplAttributes.NoInlining)]
[InlineData(MethodImplAttributes.OPTIL)]
[InlineData(TypeAttributes.ExplicitLayout, "name")]
[InlineData(TypeAttributes.HasSecurity, "name")]
[InlineData(TypeAttributes.Import, "name")]
- [InlineData(TypeAttributes.ClassSemanticsMask, "name")]
[InlineData(TypeAttributes.LayoutMask, "name")]
[InlineData(TypeAttributes.RTSpecialName, "name")]
[InlineData(TypeAttributes.Sealed, "name")]
[InlineData(TypeAttributes.SequentialLayout, "name")]
[InlineData(TypeAttributes.Serializable, "name")]
[InlineData(TypeAttributes.SpecialName, "name")]
- [InlineData(TypeAttributes.CustomFormatClass, "name")]
[InlineData(TypeAttributes.UnicodeClass, "name")]
[InlineData(TypeAttributes.NestedAssembly, null)]
[InlineData(TypeAttributes.NestedFamANDAssem, null)]
[InlineData(TypeAttributes.Abstract)]
[InlineData(TypeAttributes.AnsiClass)]
[InlineData(TypeAttributes.AutoClass)]
- [InlineData(TypeAttributes.AutoLayout)]
[InlineData(TypeAttributes.BeforeFieldInit)]
- [InlineData(TypeAttributes.Class)]
[InlineData(TypeAttributes.ClassSemanticsMask | TypeAttributes.Abstract)]
- [InlineData(TypeAttributes.NotPublic)]
[InlineData(TypeAttributes.Public)]
[InlineData(TypeAttributes.Sealed)]
[InlineData(TypeAttributes.SequentialLayout)]
[InlineData(TypeAttributes.NestedPublic)]
[InlineData(TypeAttributes.ReservedMask)]
[InlineData(TypeAttributes.RTSpecialName)]
- [InlineData(TypeAttributes.VisibilityMask)]
public void CreateType_BadAttributes(TypeAttributes attributes)
{
try
[InlineData(TypeAttributes.Abstract)]
[InlineData(TypeAttributes.AnsiClass)]
[InlineData(TypeAttributes.AutoClass)]
- [InlineData(TypeAttributes.AutoLayout)]
[InlineData(TypeAttributes.BeforeFieldInit)]
- [InlineData(TypeAttributes.Class)]
[InlineData(TypeAttributes.ClassSemanticsMask | TypeAttributes.Abstract)]
- [InlineData(TypeAttributes.NotPublic)]
[InlineData(TypeAttributes.Public)]
[InlineData(TypeAttributes.Sealed)]
[InlineData(TypeAttributes.SequentialLayout)]
[InlineData(TypeAttributes.NestedPrivate, typeof(ArgumentException))]
[InlineData(TypeAttributes.NestedPublic, typeof(ArgumentException))]
[InlineData(TypeAttributes.RTSpecialName, typeof(ArgumentException))]
- [InlineData(TypeAttributes.VisibilityMask, typeof(ArgumentException))]
public void CreateType_InvalidTypeAttributes_Throws(TypeAttributes attributes, Type exceptionType)
{
Assert.Throws(exceptionType, () => Helpers.DynamicType(attributes));
[InlineData(typeof(TI_SubClass), nameof(TI_SubClass.s_field), true, typeof(string), false)]
[InlineData(typeof(TI_SubClass), nameof(TI_SubClass.s_readonlyField), true, typeof(string), false)]
[InlineData(typeof(TI_SubClass), nameof(TI_SubClass.s_volatileField), true, typeof(string), false)]
- [InlineData(typeof(TI_BaseClass), nameof(TI_SubClass.s_arrayField), true, typeof(string[]), false)]
public void DeclaredFields(Type type, string name, bool exists, Type fieldType, bool isPrivate)
{
IEnumerable<string> fields = type.GetTypeInfo().DeclaredFields.Select(fieldInfo => fieldInfo.Name);
[Theory]
[InlineData(typeof(TI_BaseClass), true)]
[InlineData(typeof(TI_SubClass), true)]
- [InlineData(typeof(TI_BaseClass), true)]
[InlineData(typeof(TI_NonGenericInterface1), true)]
[InlineData(typeof(TI_ClassWithInterface1), true)]
public void IsPublic(Type type, bool expected)
[InlineData(typeof(TI_BaseClass), true)]
[InlineData(typeof(TI_NonGenericInterface1), true)]
[InlineData(typeof(PublicEnum), true)]
- [InlineData(typeof(TI_BaseClass), true)]
[InlineData(typeof(TI_BaseClass.PublicNestedClass1), true)]
public void IsVisible(Type type, bool expected)
{
[InlineData(typeof(TI_BaseClass), "System.Reflection.Tests")]
[InlineData(typeof(TI_NonGenericInterface1), "System.Reflection.Tests")]
[InlineData(typeof(PublicEnum), "System.Reflection.Tests")]
- [InlineData(typeof(TI_BaseClass), "System.Reflection.Tests")]
[InlineData(typeof(TI_BaseClass.PublicNestedClass1), "System.Reflection.Tests")]
[InlineData(typeof(int), "System")]
public void Namespace(Type type, string expected)
[Theory]
[PlatformSpecific(TestPlatforms.AnyUnix)] // Tests OS-specific environment
[InlineData(Environment.SpecialFolder.UserProfile, Environment.SpecialFolderOption.None)]
- [InlineData(Environment.SpecialFolder.Personal, Environment.SpecialFolderOption.None)]
- [InlineData(Environment.SpecialFolder.MyDocuments, Environment.SpecialFolderOption.None)]
+ [InlineData(Environment.SpecialFolder.MyDocuments, Environment.SpecialFolderOption.None)] // MyDocuments == Personal
[InlineData(Environment.SpecialFolder.CommonApplicationData, Environment.SpecialFolderOption.None)]
[InlineData(Environment.SpecialFolder.CommonTemplates, Environment.SpecialFolderOption.DoNotVerify)]
[InlineData(Environment.SpecialFolder.ApplicationData, Environment.SpecialFolderOption.DoNotVerify)]
}
[Theory,
- InlineData(@" C:\dir/baz", @" C:\dir"),
InlineData(@" C:\dir/baz", @" C:\dir")]
public void GetDirectoryName_SkipSpaces(string path, string expected)
{
using Xunit.Sdk;
using System.Collections.Generic;
+#pragma warning disable xUnit1025 // reporting duplicate test cases due to not distinguishing 0.0 from -0.0
+
namespace System.Tests
{
public static partial class MathTests
using Xunit.Sdk;
using System.Collections.Generic;
+#pragma warning disable xUnit1025 // reporting duplicate test cases due to not distinguishing 0.0 from -0.0
+
namespace System.Tests
{
public static partial class MathFTests
using System.Collections.Generic;
using Xunit;
+#pragma warning disable xUnit1025 // reporting duplicate test cases due to not distinguishing 0.0 from -0.0
+
namespace System.Tests
{
public static partial class MathTests
}
[Theory]
+ [InlineData(VT_I1 | VT_BYREF)]
[InlineData(VT_I2 | VT_BYREF)]
- [InlineData(VT_UI2 | VT_BYREF)]
[InlineData(VT_I4 | VT_BYREF)]
+ [InlineData(VT_I8 | VT_BYREF)]
[InlineData(VT_R4 | VT_BYREF)]
[InlineData(VT_R8 | VT_BYREF)]
[InlineData(VT_CY | VT_BYREF)]
[InlineData(VT_BOOL | VT_BYREF)]
[InlineData(VT_VARIANT | VT_BYREF)]
[InlineData(VT_UNKNOWN | VT_BYREF)]
- [InlineData(VT_I1 | VT_BYREF)]
[InlineData(VT_UI1 | VT_BYREF)]
[InlineData(VT_UI2 | VT_BYREF)]
[InlineData(VT_UI4 | VT_BYREF)]
- [InlineData(VT_I8 | VT_BYREF)]
[InlineData(VT_UI8 | VT_BYREF)]
[InlineData(VT_INT | VT_BYREF)]
[InlineData(VT_UINT | VT_BYREF)]
[InlineData(VT_ARRAY | VT_BYREF)]
[InlineData(VT_RESERVED | VT_BYREF)]
[InlineData(VT_ILLEGAL | VT_BYREF)]
- [InlineData(VT_ILLEGALMASKED | VT_BYREF)]
- [InlineData(VT_TYPEMASK| VT_BYREF)]
[PlatformSpecific(TestPlatforms.Windows)]
public void GetObjectForNativeVariant_ZeroByRefTypeNotEmptyOrNull_ThrowsArgumentException(ushort vt)
{
[InlineData("\u0130")]
[InlineData("\uD803\uDD75\uD803\uDD75\uD803\uDD75")]
[InlineData("za\u0306\u01FD\u03B2\uD8FF\uDCFF")]
- [InlineData("za\u0306\u01FD\u03B2\uD8FF\uDCFF")]
[InlineData("\u0023\u0025\u03a0\u03a3")]
[InlineData("\u00C5")]
[InlineData("\u0065\u0065\u00E1\u0065\u0065\u8000\u00E1\u0065\uD800\uDC00\u8000\u00E1\u0065\u0065\u0065")]
[Theory]
[InlineData((byte)234, (byte)234, 0)]
[InlineData((byte)234, byte.MinValue, 1)]
- [InlineData((byte)234, (byte)0, 1)]
[InlineData((byte)234, (byte)123, 1)]
[InlineData((byte)234, (byte)235, -1)]
[InlineData((byte)234, byte.MaxValue, -1)]
[InlineData(3155378976000000000)]
[InlineData(long.MaxValue)]
[InlineData(3155378976000000000 | ((long)DateTimeKind.Utc << 62))]
- [InlineData(long.MaxValue | ((long)DateTimeKind.Utc << 62))]
public void FromBinary_OutOfRangeTicks_ThrowsArgumentException(long dateData)
{
AssertExtensions.Throws<ArgumentException>("dateData", () => DateTime.FromBinary(dateData));
[InlineData(new int[] { 0, 0, 0 })]
[InlineData(new int[] { 0, 0, 0, 0, 0 })]
[InlineData(new int[] { 0, 0, 0, 1 })]
- [InlineData(new int[] { 0, 0, 0, 0x00001 })]
[InlineData(new int[] { 0, 0, 0, 0x1D0000 })]
[InlineData(new int[] { 0, 0, 0, unchecked((int)0x40000000) })]
public void Ctor_InvalidBits_ThrowsArgumentException(int[] bits)
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
-using System.Diagnostics;
using System.Globalization;
-using System.Runtime.CompilerServices;
using Microsoft.DotNet.RemoteExecutor;
using Xunit;
+#pragma warning disable xUnit1025 // reporting duplicate test cases due to not distinguishing 0.0 from -0.0, NaN from -NaN
+
namespace System.Tests
{
public partial class DoubleTests
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
-using System.Diagnostics;
using System.Globalization;
using Microsoft.DotNet.RemoteExecutor;
using Xunit;
+#pragma warning disable xUnit1025 // reporting duplicate test cases due to not distinguishing 0.0 from -0.0, NaN from -NaN
+
namespace System.Tests
{
public partial class DoubleTests
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
-using System.Diagnostics;
using System.Globalization;
using System.Runtime.CompilerServices;
using Microsoft.DotNet.RemoteExecutor;
using Xunit;
+#pragma warning disable xUnit1025 // reporting duplicate test cases due to not distinguishing 0.0 from -0.0, NaN from -NaN
+
namespace System.Tests
{
public partial class SingleTests
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
-using System.Diagnostics;
using System.Globalization;
using Microsoft.DotNet.RemoteExecutor;
using Xunit;
+#pragma warning disable xUnit1025 // reporting duplicate test cases due to not distinguishing 0.0 from -0.0, NaN from -NaN
+
namespace System.Tests
{
public partial class SingleTests
[InlineData(new char[] { '\ud83d', '\ude32' }, OperationStatus.Done, 0x1F632, 2)] // supplementary value (U+1F632 ASTONISHED FACE)
[InlineData(new char[] { '\udc00' }, OperationStatus.InvalidData, 0xFFFD, 1)] // standalone low surrogate
[InlineData(new char[] { '\udc00', '\udc00' }, OperationStatus.InvalidData, 0xFFFD, 1)] // standalone low surrogate
- [InlineData(new char[] { '\udc00', '\udc00' }, OperationStatus.InvalidData, 0xFFFD, 1)] // standalone low surrogate
[InlineData(new char[] { '\ud800' }, OperationStatus.NeedMoreData, 0xFFFD, 1)] // high surrogate at end of buffer
[InlineData(new char[] { '\ud800', '\ud800' }, OperationStatus.InvalidData, 0xFFFD, 1)] // standalone high surrogate
[InlineData(new char[] { '\ud800', '\u1234' }, OperationStatus.InvalidData, 0xFFFD, 1)] // standalone high surrogate
[InlineData("<1854><C980><012C><4797><DD5A><41D0><A104><5464>", 4, 4, 11)]
[InlineData("<F1AF><8BD3><5037><BE29><DEFF><3E3A><DD71><6336>", 4, 4, 12)]
[InlineData("<B978><0F25><DC23><D3BB><7352><4025><0B93><4107>", 2, 2, 6)]
- [InlineData("<2BB4><218C><1BC0><613F><F9E9><B740><DE38><E689>", 6, 6, 18)]
[InlineData("<887C><C980><012C><4797><DD5A><41D0><A104><5464>", 4, 4, 11)]
public void GetIndexOfFirstInvalidUtf16Sequence_WithEightRandomCharsContainingUnpairedSurrogates(string unprocessedInput, int idxOfFirstInvalidChar, int expectedRuneCount, int expectedUtf8ByteCount)
{
[Theory]
[InlineData((ushort)234, (ushort)234, 0)]
[InlineData((ushort)234, ushort.MinValue, 1)]
- [InlineData((ushort)234, (ushort)0, 1)]
[InlineData((ushort)234, (ushort)123, 1)]
[InlineData((ushort)234, (ushort)456, -1)]
[InlineData((ushort)234, ushort.MaxValue, -1)]
[Theory]
[InlineData((uint)234, (uint)234, 0)]
[InlineData((uint)234, uint.MinValue, 1)]
- [InlineData((uint)234, (uint)0, 1)]
[InlineData((uint)234, (uint)123, 1)]
[InlineData((uint)234, (uint)456, -1)]
[InlineData((uint)234, uint.MaxValue, -1)]
[Theory]
[InlineData((ulong)234, (ulong)234, 0)]
[InlineData((ulong)234, ulong.MinValue, 1)]
- [InlineData((ulong)234, (ulong)0, 1)]
[InlineData((ulong)234, (ulong)123, 1)]
[InlineData((ulong)234, (ulong)456, -1)]
[InlineData((ulong)234, ulong.MaxValue, -1)]
[InlineData(@"this", true, false)] //CData_Text
[InlineData(@"&", true, false)] //EntityReference
[InlineData(@"<?xml-stylesheet type='text / xsl' href='style.xsl'?>", true, false)] //EntityReference
- [InlineData(@"<?xml-stylesheet type='text / xsl' href='style.xsl'?>", true, false)] //EntityReference
-
public static void ExtraData(string arbitraryData, bool checkSignatureSucceeds, bool loadThrows)
{
string xml = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
[InlineData(1)]
[InlineData(8)]
[InlineData(10)]
- [InlineData(715827881)]
[InlineData((int.MaxValue - 2) / 3)]
public void GetMaxByteCount(int charCount)
{
[InlineData("1e-6", true)]
[InlineData("-1e6", false)]
[InlineData("-1e6", true)]
- [InlineData("-1e+6", true)]
+ [InlineData("-1e+6", false)]
[InlineData("-1e+6", true)]
[InlineData("-1e-6", false)]
[InlineData("-1e-6", true)]
[InlineData(@"[^", RegexOptions.None, RegexParseError.UnterminatedBracket)]
[InlineData(@"[cat", RegexOptions.None, RegexParseError.UnterminatedBracket)]
[InlineData(@"[^cat", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- [InlineData(@"\p{", RegexOptions.None, RegexParseError.IncompleteSlashP)]
[InlineData(@"\p{cat", RegexOptions.None, RegexParseError.IncompleteSlashP)]
[InlineData(@"\k<cat", RegexOptions.None, RegexParseError.UnrecognizedEscape)]
[InlineData(@"\p{cat}", RegexOptions.None, RegexParseError.UnknownUnicodeProperty)]
// Scan control
[InlineData("(cat)(\\c\0*)(dog)", RegexOptions.None, RegexParseError.UnrecognizedControl)]
[InlineData(@"(cat)(\c\[*)(dog)", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- // Nested quantifiers
- [InlineData("^[abcd]{0,16}*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]{1,}*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]{1}*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]{0,16}?*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]{1,}?*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]{1}?*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]*+$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]+*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]?*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]*?+$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]+?*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]??*$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]*{0,5}$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]+{0,5}$", RegexOptions.None, RegexParseError.NestedQuantify)]
- [InlineData("^[abcd]?{0,5}$", RegexOptions.None, RegexParseError.NestedQuantify)]
- // Invalid character class
- [InlineData("[", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- [InlineData("[]", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- [InlineData("[a", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- [InlineData("[^", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- [InlineData("[cat", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- [InlineData("[^cat", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- [InlineData("[a-", RegexOptions.None, RegexParseError.UnterminatedBracket)]
// Invalid grouping constructs
[InlineData("(?<", RegexOptions.None, RegexParseError.UnrecognizedGrouping)]
- [InlineData("(?<cat>", RegexOptions.None, RegexParseError.NotEnoughParentheses)]
- [InlineData("(?'cat'", RegexOptions.None, RegexParseError.NotEnoughParentheses)]
- [InlineData("(?imn", RegexOptions.None, RegexParseError.UnrecognizedGrouping)]
- [InlineData("(?imn )", RegexOptions.None, RegexParseError.UnrecognizedGrouping)]
[InlineData("(?>-", RegexOptions.None, RegexParseError.NotEnoughParentheses)]
- [InlineData("(?<)", RegexOptions.None, RegexParseError.InvalidGroupName)]
- [InlineData("(?')", RegexOptions.None, RegexParseError.InvalidGroupName)]
- // Invalid alternation constructs
- [InlineData("(?(", RegexOptions.None, RegexParseError.NotEnoughParentheses)]
- [InlineData("(?()|", RegexOptions.None, RegexParseError.NotEnoughParentheses)]
- [InlineData("(?(cat", RegexOptions.None, RegexParseError.NotEnoughParentheses)]
- [InlineData("(?(cat)|", RegexOptions.None, RegexParseError.NotEnoughParentheses)]
- // Regex with 0 numeric names
- [InlineData("foo(?<0>bar)", RegexOptions.None, RegexParseError.CapnumNotZero)]
- [InlineData("foo(?'0'bar)", RegexOptions.None, RegexParseError.CapnumNotZero)]
- // Regex without closing >
- [InlineData("foo(?<1bar)", RegexOptions.None, RegexParseError.InvalidGroupName)]
- [InlineData("foo(?'1bar)", RegexOptions.None, RegexParseError.InvalidGroupName)]
- // Misc
- [InlineData("(?r:cat)", RegexOptions.None, RegexParseError.UnrecognizedGrouping)]
- [InlineData("(?c:cat)", RegexOptions.None, RegexParseError.UnrecognizedGrouping)]
- [InlineData("(??e:cat)", RegexOptions.None, RegexParseError.UnrecognizedGrouping)]
- // Character class subtraction
- [InlineData("[a-f-[]]+", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- //// Not character class substraction
- [InlineData("[A-[]+", RegexOptions.None, RegexParseError.UnterminatedBracket)]
- // Invalid testgroup
- [InlineData("(?(?e))", RegexOptions.None, RegexParseError.UnrecognizedGrouping)]
- [InlineData("(?(?a)", RegexOptions.None, RegexParseError.UnrecognizedGrouping)]
- [InlineData("(?(?", RegexOptions.None, RegexParseError.UnrecognizedGrouping)]
- [InlineData("?(a)", RegexOptions.None, RegexParseError.QuantifyAfterNothing)]
- [InlineData("?(a|b)", RegexOptions.None, RegexParseError.QuantifyAfterNothing)]
- [InlineData("?((a)", RegexOptions.None, RegexParseError.QuantifyAfterNothing)]
- [InlineData("?((a)a", RegexOptions.None, RegexParseError.QuantifyAfterNothing)]
- [InlineData("?((a)a|", RegexOptions.None, RegexParseError.QuantifyAfterNothing)]
- [InlineData("?((a)a|b", RegexOptions.None, RegexParseError.QuantifyAfterNothing)]
// Testgroup with options
[InlineData("())", RegexOptions.None, RegexParseError.TooManyParentheses)]
[InlineData("[a-z-[aeiuo]", RegexOptions.None, RegexParseError.UnterminatedBracket)]
[InlineData(true, true, EnlistmentOptions.EnlistDuringPrepareRequired, EnlistmentOptions.EnlistDuringPrepareRequired, true)]
[InlineData(true, true, EnlistmentOptions.EnlistDuringPrepareRequired, EnlistmentOptions.None, true)]
[InlineData(true, false, EnlistmentOptions.EnlistDuringPrepareRequired, EnlistmentOptions.EnlistDuringPrepareRequired, true)]
- [InlineData(true, false, EnlistmentOptions.EnlistDuringPrepareRequired, EnlistmentOptions.EnlistDuringPrepareRequired, true)]
- [InlineData(false, true, EnlistmentOptions.None, EnlistmentOptions.None, false)]
[InlineData(false, true, EnlistmentOptions.None, EnlistmentOptions.None, false)]
[InlineData(true, true, EnlistmentOptions.None, EnlistmentOptions.EnlistDuringPrepareRequired, false)]
[InlineData(true, true, EnlistmentOptions.None, EnlistmentOptions.None, false)]