diff --git a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/EmptyWithMessageException.cs b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/EmptyWithMessageException.cs
deleted file mode 100644
index d91b9519d..000000000
--- a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/EmptyWithMessageException.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// 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;
-using Xunit.Sdk;
-
-namespace Microsoft.CodeAnalysis.Testing.Verifiers
-{
- public class EmptyWithMessageException : EmptyException
- {
- public EmptyWithMessageException(IEnumerable collection, string userMessage)
- : base(collection)
- {
- UserMessage = userMessage;
- }
-
- public override string Message
- {
- get
- {
- if (string.IsNullOrEmpty(UserMessage))
- {
- return base.Message;
- }
-
- return UserMessage + Environment.NewLine + base.Message;
- }
- }
- }
-}
diff --git a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/EqualWithMessageException.cs b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/EqualWithMessageException.cs
deleted file mode 100644
index 3a14e78ed..000000000
--- a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/EqualWithMessageException.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// 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 Xunit.Sdk;
-
-namespace Microsoft.CodeAnalysis.Testing.Verifiers
-{
- public class EqualWithMessageException : EqualException
- {
- public EqualWithMessageException(object? expected, object? actual, string userMessage)
- : base(expected, actual)
- {
- UserMessage = userMessage;
- }
-
- public EqualWithMessageException(string? expected, string? actual, int expectedIndex, int actualIndex, string userMessage)
- : base(expected, actual, expectedIndex, actualIndex)
- {
- UserMessage = userMessage;
- }
-
- public override string Message
- {
- get
- {
- if (string.IsNullOrEmpty(UserMessage))
- {
- return base.Message;
- }
-
- return UserMessage + Environment.NewLine + base.Message;
- }
- }
- }
-}
diff --git a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit.csproj b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit.csproj
index 2947cb5d1..e9eab7295 100644
--- a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit.csproj
+++ b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit.csproj
@@ -13,10 +13,6 @@
Roslyn Test Verifiers for xUnit
-
-
-
-
diff --git a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/NotEmptyWithMessageException.cs b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/NotEmptyWithMessageException.cs
deleted file mode 100644
index 9204a8b22..000000000
--- a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/NotEmptyWithMessageException.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// 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 Xunit.Sdk;
-
-namespace Microsoft.CodeAnalysis.Testing.Verifiers
-{
- public class NotEmptyWithMessageException : NotEmptyException
- {
- public NotEmptyWithMessageException(string userMessage)
- {
- UserMessage = userMessage;
- }
-
- public override string Message
- {
- get
- {
- if (string.IsNullOrEmpty(UserMessage))
- {
- return base.Message;
- }
-
- return UserMessage + Environment.NewLine + base.Message;
- }
- }
- }
-}
diff --git a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/PublicAPI.Unshipped.txt b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/PublicAPI.Unshipped.txt
index 2745b0193..3b935e8fd 100644
--- a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/PublicAPI.Unshipped.txt
+++ b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/PublicAPI.Unshipped.txt
@@ -1,10 +1,3 @@
-Microsoft.CodeAnalysis.Testing.Verifiers.EmptyWithMessageException
-Microsoft.CodeAnalysis.Testing.Verifiers.EmptyWithMessageException.EmptyWithMessageException(System.Collections.IEnumerable collection, string userMessage) -> void
-Microsoft.CodeAnalysis.Testing.Verifiers.EqualWithMessageException
-Microsoft.CodeAnalysis.Testing.Verifiers.EqualWithMessageException.EqualWithMessageException(object expected, object actual, string userMessage) -> void
-Microsoft.CodeAnalysis.Testing.Verifiers.EqualWithMessageException.EqualWithMessageException(string expected, string actual, int expectedIndex, int actualIndex, string userMessage) -> void
-Microsoft.CodeAnalysis.Testing.Verifiers.NotEmptyWithMessageException
-Microsoft.CodeAnalysis.Testing.Verifiers.NotEmptyWithMessageException.NotEmptyWithMessageException(string userMessage) -> void
Microsoft.CodeAnalysis.Testing.Verifiers.XUnitVerifier
Microsoft.CodeAnalysis.Testing.Verifiers.XUnitVerifier.Context.get -> System.Collections.Immutable.ImmutableStack
Microsoft.CodeAnalysis.Testing.Verifiers.XUnitVerifier.XUnitVerifier() -> void
@@ -19,6 +12,3 @@ virtual Microsoft.CodeAnalysis.Testing.Verifiers.XUnitVerifier.NotEmpty(strin
virtual Microsoft.CodeAnalysis.Testing.Verifiers.XUnitVerifier.PushContext(string context) -> Microsoft.CodeAnalysis.Testing.IVerifier
virtual Microsoft.CodeAnalysis.Testing.Verifiers.XUnitVerifier.SequenceEqual(System.Collections.Generic.IEnumerable expected, System.Collections.Generic.IEnumerable actual, System.Collections.Generic.IEqualityComparer equalityComparer = null, string message = null) -> void
virtual Microsoft.CodeAnalysis.Testing.Verifiers.XUnitVerifier.True(bool assert, string message = null) -> void
-override Microsoft.CodeAnalysis.Testing.Verifiers.EmptyWithMessageException.Message.get -> string
-override Microsoft.CodeAnalysis.Testing.Verifiers.EqualWithMessageException.Message.get -> string
-override Microsoft.CodeAnalysis.Testing.Verifiers.NotEmptyWithMessageException.Message.get -> string
diff --git a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/XUnitVerifier.cs b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/XUnitVerifier.cs
index 76279fbd4..64aa7068b 100644
--- a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/XUnitVerifier.cs
+++ b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit/XUnitVerifier.cs
@@ -7,119 +7,73 @@
using System.Collections.Immutable;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
-using Xunit;
namespace Microsoft.CodeAnalysis.Testing.Verifiers
{
public class XUnitVerifier : IVerifier
{
+ private readonly DefaultVerifier _defaultVerifer;
+
public XUnitVerifier()
- : this(ImmutableStack.Empty)
+ : this(ImmutableStack.Empty, new DefaultVerifier())
{
}
protected XUnitVerifier(ImmutableStack context)
{
Context = context ?? throw new ArgumentNullException(nameof(context));
- }
-
- protected ImmutableStack Context { get; }
- public virtual void Empty(string collectionName, IEnumerable collection)
- {
- using (var enumerator = collection.GetEnumerator())
+ // Construct an equivalent DefaultVerifier from the provided context
+ var defaultVerifier = new DefaultVerifier();
+ foreach (var frame in context.Reverse())
{
- if (enumerator.MoveNext())
- {
- throw new EmptyWithMessageException(collection, CreateMessage($"'{collectionName}' is not empty"));
- }
+ defaultVerifier = (DefaultVerifier)defaultVerifier.PushContext(frame);
}
+
+ _defaultVerifer = defaultVerifier;
}
- public virtual void Equal(T expected, T actual, string? message = null)
+ private XUnitVerifier(ImmutableStack context, DefaultVerifier defaultVerifier)
{
- if (message is null && Context.IsEmpty)
- {
- Assert.Equal(expected, actual);
- }
- else
- {
- if (!EqualityComparer.Default.Equals(expected, actual))
- {
- throw new EqualWithMessageException(expected, actual, CreateMessage(message));
- }
- }
+ Context = context;
+ _defaultVerifer = defaultVerifier;
}
+ protected ImmutableStack Context { get; }
+
+ public virtual void Empty(string collectionName, IEnumerable collection)
+ => _defaultVerifer.Empty(collectionName, collection);
+
+ public virtual void Equal(T expected, T actual, string? message = null)
+ => _defaultVerifer.Equal(expected, actual, message);
+
public virtual void True([DoesNotReturnIf(false)] bool assert, string? message = null)
- {
- if (message is null && Context.IsEmpty)
- {
- Assert.True(assert);
- }
- else
- {
- Assert.True(assert, CreateMessage(message));
- }
- }
+ => _defaultVerifer.True(assert, message);
public virtual void False([DoesNotReturnIf(true)] bool assert, string? message = null)
- {
- if (message is null && Context.IsEmpty)
- {
- Assert.False(assert);
- }
- else
- {
- Assert.False(assert, CreateMessage(message));
- }
- }
+ => _defaultVerifer.False(assert, message);
[DoesNotReturn]
public virtual void Fail(string? message = null)
- {
- if (message is null && Context.IsEmpty)
- {
- Assert.True(false);
- }
- else
- {
- Assert.True(false, CreateMessage(message));
- }
-
- throw ExceptionUtilities.Unreachable;
- }
+ => _defaultVerifer.Fail(message);
public virtual void LanguageIsSupported(string language)
- {
- Assert.False(language != LanguageNames.CSharp && language != LanguageNames.VisualBasic, CreateMessage($"Unsupported Language: '{language}'"));
- }
+ => _defaultVerifer.LanguageIsSupported(language);
public virtual void NotEmpty(string collectionName, IEnumerable collection)
- {
- using (var enumerator = collection.GetEnumerator())
- {
- if (!enumerator.MoveNext())
- {
- throw new NotEmptyWithMessageException(CreateMessage($"'{collectionName}' is empty"));
- }
- }
- }
+ => _defaultVerifer.NotEmpty(collectionName, collection);
public virtual void SequenceEqual(IEnumerable expected, IEnumerable actual, IEqualityComparer? equalityComparer = null, string? message = null)
+ => _defaultVerifer.SequenceEqual(expected, actual, equalityComparer, message);
+
+ public virtual IVerifier PushContext(string context)
{
- var comparer = new SequenceEqualEnumerableEqualityComparer(equalityComparer);
- var areEqual = comparer.Equals(expected, actual);
- if (!areEqual)
+ if (GetType() != typeof(XUnitVerifier))
{
- throw new EqualWithMessageException(expected, actual, CreateMessage(message));
+ throw new InvalidOperationException($"'{nameof(PushContext)}' must be overridden to support types derived from '{typeof(XUnitVerifier)}'");
}
- }
- public virtual IVerifier PushContext(string context)
- {
- Assert.IsType(this);
- return new XUnitVerifier(Context.Push(context));
+ return new XUnitVerifier(Context.Push(context), (DefaultVerifier)_defaultVerifer.PushContext(context));
}
protected virtual string CreateMessage(string? message)
@@ -131,41 +85,5 @@ protected virtual string CreateMessage(string? message)
return message ?? string.Empty;
}
-
- private sealed class SequenceEqualEnumerableEqualityComparer : IEqualityComparer?>
- {
- private readonly IEqualityComparer _itemEqualityComparer;
-
- public SequenceEqualEnumerableEqualityComparer(IEqualityComparer? itemEqualityComparer)
- {
- _itemEqualityComparer = itemEqualityComparer ?? EqualityComparer.Default;
- }
-
- public bool Equals(IEnumerable? x, IEnumerable? y)
- {
- if (ReferenceEquals(x, y)) { return true; }
- if (x is null || y is null) { return false; }
-
- return x.SequenceEqual(y, _itemEqualityComparer);
- }
-
- public int GetHashCode(IEnumerable? obj)
- {
- if (obj is null)
- {
- return 0;
- }
-
- // From System.Tuple
- //
- // The suppression is required due to an invalid contract in IEqualityComparer
- // https://github.com/dotnet/runtime/issues/30998
- return obj
- .Select(item => _itemEqualityComparer.GetHashCode(item!))
- .Aggregate(
- 0,
- (aggHash, nextHash) => ((aggHash << 5) + aggHash) ^ nextHash);
- }
- }
}
}
diff --git a/tests/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit.UnitTests/XUnitVerifierTests.cs b/tests/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit.UnitTests/XUnitVerifierTests.cs
index 849e62c68..60a95f725 100644
--- a/tests/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit.UnitTests/XUnitVerifierTests.cs
+++ b/tests/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Testing.Verifiers.XUnit.UnitTests/XUnitVerifierTests.cs
@@ -15,8 +15,8 @@ public void TestEmptyMessage()
{
var actual = new int[1];
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.Empty("someCollectionName", actual));
- Assert.Equal($"'someCollectionName' is not empty{Environment.NewLine}Assert.Empty() Failure{Environment.NewLine}Expected: {Environment.NewLine}Actual: [0]", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Empty("someCollectionName", actual));
+ Assert.Equal($"'someCollectionName' is not empty", exception.Message);
}
[Fact]
@@ -24,8 +24,8 @@ public void TestEmptyMessageWithContext()
{
var actual = new int[1];
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.Empty("someCollectionName", actual));
- Assert.Equal($"Context: Known Context{Environment.NewLine}'someCollectionName' is not empty{Environment.NewLine}Assert.Empty() Failure{Environment.NewLine}Expected: {Environment.NewLine}Actual: [0]", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Empty("someCollectionName", actual));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}'someCollectionName' is not empty", exception.Message);
}
[Fact]
@@ -34,10 +34,8 @@ public void TestEqualMessage()
var expected = 0;
var actual = 1;
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.Equal(expected, actual));
- Assert.Equal(expected.ToString(), exception.Expected);
- Assert.Equal(actual.ToString(), exception.Actual);
- Assert.Equal($"Assert.Equal() Failure{Environment.NewLine}Expected: 0{Environment.NewLine}Actual: 1", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Equal(expected, actual));
+ Assert.Equal($"items not equal. expected:'0' actual:'1'", exception.Message);
}
[Fact]
@@ -46,10 +44,8 @@ public void TestEqualMessageWithContext()
var expected = 0;
var actual = 1;
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.Equal(expected, actual));
- Assert.Equal(expected.ToString(), exception.Expected);
- Assert.Equal(actual.ToString(), exception.Actual);
- Assert.Equal($"Context: Known Context{Environment.NewLine}{Environment.NewLine}Assert.Equal() Failure{Environment.NewLine}Expected: 0{Environment.NewLine}Actual: 1", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Equal(expected, actual));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}items not equal. expected:'0' actual:'1'", exception.Message);
}
[Fact]
@@ -58,10 +54,8 @@ public void TestEqualCustomMessage()
var expected = 0;
var actual = 1;
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.Equal(expected, actual, "Custom message"));
- Assert.Equal(expected.ToString(), exception.Expected);
- Assert.Equal(actual.ToString(), exception.Actual);
- Assert.Equal($"Custom message{Environment.NewLine}Assert.Equal() Failure{Environment.NewLine}Expected: 0{Environment.NewLine}Actual: 1", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Equal(expected, actual, "Custom message"));
+ Assert.Equal($"Custom message", exception.Message);
}
[Fact]
@@ -70,122 +64,120 @@ public void TestEqualCustomMessageWithContext()
var expected = 0;
var actual = 1;
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.Equal(expected, actual, "Custom message"));
- Assert.Equal(expected.ToString(), exception.Expected);
- Assert.Equal(actual.ToString(), exception.Actual);
- Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message{Environment.NewLine}Assert.Equal() Failure{Environment.NewLine}Expected: 0{Environment.NewLine}Actual: 1", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Equal(expected, actual, "Custom message"));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message", exception.Message);
}
[Fact]
public void TestTrueMessage()
{
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.True(false));
- Assert.Equal($"Assert.True() Failure{Environment.NewLine}Expected: True{Environment.NewLine}Actual: False", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.True(false));
+ Assert.Equal($"Expected value to be 'true' but was 'false'", exception.Message);
}
[Fact]
public void TestTrueMessageWithContext()
{
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.True(false));
- Assert.Equal($"Context: Known Context{Environment.NewLine}{Environment.NewLine}Expected: True{Environment.NewLine}Actual: False", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.True(false));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Expected value to be 'true' but was 'false'", exception.Message);
}
[Fact]
public void TestTrueCustomMessage()
{
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.True(false, "Custom message"));
- Assert.Equal($"Custom message{Environment.NewLine}Expected: True{Environment.NewLine}Actual: False", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.True(false, "Custom message"));
+ Assert.Equal($"Custom message", exception.Message);
}
[Fact]
public void TestTrueCustomMessageWithContext()
{
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.True(false, "Custom message"));
- Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message{Environment.NewLine}Expected: True{Environment.NewLine}Actual: False", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.True(false, "Custom message"));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message", exception.Message);
}
[Fact]
public void TestFalseMessage()
{
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.False(true));
- Assert.Equal($"Assert.False() Failure{Environment.NewLine}Expected: False{Environment.NewLine}Actual: True", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.False(true));
+ Assert.Equal($"Expected value to be 'false' but was 'true'", exception.Message);
}
[Fact]
public void TestFalseMessageWithContext()
{
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.False(true));
- Assert.Equal($"Context: Known Context{Environment.NewLine}{Environment.NewLine}Expected: False{Environment.NewLine}Actual: True", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.False(true));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Expected value to be 'false' but was 'true'", exception.Message);
}
[Fact]
public void TestFalseCustomMessage()
{
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.False(true, "Custom message"));
- Assert.Equal($"Custom message{Environment.NewLine}Expected: False{Environment.NewLine}Actual: True", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.False(true, "Custom message"));
+ Assert.Equal($"Custom message", exception.Message);
}
[Fact]
public void TestFalseCustomMessageWithContext()
{
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.False(true, "Custom message"));
- Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message{Environment.NewLine}Expected: False{Environment.NewLine}Actual: True", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.False(true, "Custom message"));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message", exception.Message);
}
[Fact]
public void TestFailMessage()
{
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.Fail());
- Assert.Equal($"Assert.True() Failure{Environment.NewLine}Expected: True{Environment.NewLine}Actual: False", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Fail());
+ Assert.Equal($"Verification failed for an unspecified reason.", exception.Message);
}
[Fact]
public void TestFailMessageWithContext()
{
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.Fail());
- Assert.Equal($"Context: Known Context{Environment.NewLine}{Environment.NewLine}Expected: True{Environment.NewLine}Actual: False", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Fail());
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Verification failed for an unspecified reason.", exception.Message);
}
[Fact]
public void TestFailCustomMessage()
{
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.Fail("Custom message"));
- Assert.Equal($"Custom message{Environment.NewLine}Expected: True{Environment.NewLine}Actual: False", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Fail("Custom message"));
+ Assert.Equal($"Custom message", exception.Message);
}
[Fact]
public void TestFailCustomMessageWithContext()
{
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.Fail("Custom message"));
- Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message{Environment.NewLine}Expected: True{Environment.NewLine}Actual: False", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.Fail("Custom message"));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message", exception.Message);
}
[Fact]
public void TestLanguageIsSupportedMessage()
{
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.LanguageIsSupported("NonLanguage"));
- Assert.Equal($"Unsupported Language: 'NonLanguage'{Environment.NewLine}Expected: False{Environment.NewLine}Actual: True", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.LanguageIsSupported("NonLanguage"));
+ Assert.Equal($"Unsupported Language: 'NonLanguage'", exception.Message);
}
[Fact]
public void TestLanguageIsSupportedMessageWithContext()
{
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.LanguageIsSupported("NonLanguage"));
- Assert.Equal($"Context: Known Context{Environment.NewLine}Unsupported Language: 'NonLanguage'{Environment.NewLine}Expected: False{Environment.NewLine}Actual: True", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.LanguageIsSupported("NonLanguage"));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Unsupported Language: 'NonLanguage'", exception.Message);
}
[Fact]
@@ -193,8 +185,8 @@ public void TestNotEmptyMessage()
{
var actual = new int[0];
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.NotEmpty("someCollectionName", actual));
- Assert.Equal($"'someCollectionName' is empty{Environment.NewLine}Assert.NotEmpty() Failure", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.NotEmpty("someCollectionName", actual));
+ Assert.Equal($"'someCollectionName' is empty", exception.Message);
}
[Fact]
@@ -202,8 +194,8 @@ public void TestNotEmptyMessageWithContext()
{
var actual = new int[0];
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.NotEmpty("someCollectionName", actual));
- Assert.Equal($"Context: Known Context{Environment.NewLine}'someCollectionName' is empty{Environment.NewLine}Assert.NotEmpty() Failure", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.NotEmpty("someCollectionName", actual));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}'someCollectionName' is empty", exception.Message);
}
[Fact]
@@ -212,10 +204,8 @@ public void TestSequenceEqualMessage()
var expected = new int[] { 0 };
var actual = new int[] { 1 };
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.SequenceEqual(expected, actual));
- Assert.Equal("Int32[] [0]", exception.Expected);
- Assert.Equal("Int32[] [1]", exception.Actual);
- Assert.Equal($"Assert.Equal() Failure{Environment.NewLine}Expected: Int32[] [0]{Environment.NewLine}Actual: Int32[] [1]", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.SequenceEqual(expected, actual));
+ Assert.Equal($"Sequences are not equal", exception.Message);
}
[Fact]
@@ -224,10 +214,8 @@ public void TestSequenceEqualMessageWithContext()
var expected = new int[] { 0 };
var actual = new int[] { 1 };
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.SequenceEqual(expected, actual));
- Assert.Equal("Int32[] [0]", exception.Expected);
- Assert.Equal("Int32[] [1]", exception.Actual);
- Assert.Equal($"Context: Known Context{Environment.NewLine}{Environment.NewLine}Assert.Equal() Failure{Environment.NewLine}Expected: Int32[] [0]{Environment.NewLine}Actual: Int32[] [1]", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.SequenceEqual(expected, actual));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Sequences are not equal", exception.Message);
}
[Fact]
@@ -236,10 +224,8 @@ public void TestSequenceEqualCustomMessage()
var expected = new int[] { 0 };
var actual = new int[] { 1 };
var verifier = new XUnitVerifier();
- var exception = Assert.ThrowsAny(() => verifier.SequenceEqual(expected, actual, message: "Custom message"));
- Assert.Equal("Int32[] [0]", exception.Expected);
- Assert.Equal("Int32[] [1]", exception.Actual);
- Assert.Equal($"Custom message{Environment.NewLine}Assert.Equal() Failure{Environment.NewLine}Expected: Int32[] [0]{Environment.NewLine}Actual: Int32[] [1]", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.SequenceEqual(expected, actual, message: "Custom message"));
+ Assert.Equal($"Custom message", exception.Message);
}
[Fact]
@@ -248,10 +234,8 @@ public void TestSequenceEqualCustomMessageWithContext()
var expected = new int[] { 0 };
var actual = new int[] { 1 };
var verifier = new XUnitVerifier().PushContext("Known Context");
- var exception = Assert.ThrowsAny(() => verifier.SequenceEqual(expected, actual, message: "Custom message"));
- Assert.Equal("Int32[] [0]", exception.Expected);
- Assert.Equal("Int32[] [1]", exception.Actual);
- Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message{Environment.NewLine}Assert.Equal() Failure{Environment.NewLine}Expected: Int32[] [0]{Environment.NewLine}Actual: Int32[] [1]", exception.Message);
+ var exception = Assert.ThrowsAny(() => verifier.SequenceEqual(expected, actual, message: "Custom message"));
+ Assert.Equal($"Context: Known Context{Environment.NewLine}Custom message", exception.Message);
}
}
}
diff --git a/tests/VisualStudio.Roslyn.SDK/Roslyn.SDK.IntegrationTests/Roslyn.SDK.IntegrationTests.csproj b/tests/VisualStudio.Roslyn.SDK/Roslyn.SDK.IntegrationTests/Roslyn.SDK.IntegrationTests.csproj
index 88375f10b..263861a35 100644
--- a/tests/VisualStudio.Roslyn.SDK/Roslyn.SDK.IntegrationTests/Roslyn.SDK.IntegrationTests.csproj
+++ b/tests/VisualStudio.Roslyn.SDK/Roslyn.SDK.IntegrationTests/Roslyn.SDK.IntegrationTests.csproj
@@ -8,12 +8,10 @@
+
-
-
-