From 9f230b172c79f042b9db03f1f62aa2330c3b03f6 Mon Sep 17 00:00:00 2001 From: Nathan Ellenfield Date: Sun, 2 Sep 2018 21:37:12 -0400 Subject: [PATCH 1/2] Added extensibility through That. --- src/EnumerableAssert/EnumerableAssert.cs | 18 +++++++++++++++ test/EnumerableAssert/Extensibility.cs | 28 ++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 test/EnumerableAssert/Extensibility.cs diff --git a/src/EnumerableAssert/EnumerableAssert.cs b/src/EnumerableAssert/EnumerableAssert.cs index a39e089..f9668aa 100644 --- a/src/EnumerableAssert/EnumerableAssert.cs +++ b/src/EnumerableAssert/EnumerableAssert.cs @@ -7,6 +7,24 @@ namespace Microsoft.VisualStudio.TestTools.UnitTesting.Contrib.EnumerableAssert { public sealed class EnumerableAssert { + private static EnumerableAssert that; + + private EnumerableAssert() + { + } + + public static EnumerableAssert That + { + get + { + if(that == null) + { + that = new EnumerableAssert(); + } + return that; + } + } + public static void IsNullOrEmpty(IEnumerable enumerable) { if (enumerable != null && enumerable.GetEnumerator().MoveNext()) diff --git a/test/EnumerableAssert/Extensibility.cs b/test/EnumerableAssert/Extensibility.cs new file mode 100644 index 0000000..3b2e5e2 --- /dev/null +++ b/test/EnumerableAssert/Extensibility.cs @@ -0,0 +1,28 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.VisualStudio.TestTools.UnitTesting.Contrib.EnumerableAssert; + +namespace EnumerableAssertTests +{ + [TestClass] + public class Extensibility + { + [TestMethod] + public void ThatTest() + { + var that = EnumerableAssert.That; + Assert.IsNotNull(that); + } + + [TestMethod] + public void ExtensionMethodTest() + { + var result = EnumerableAssert.That.ReturnString(); + Assert.AreEqual("success!", result); + } + } + + public static class TestExtensions + { + public static string ReturnString(this EnumerableAssert enumerableAssert) => "success!"; + } +} From 0ae58107c0444f4f11c679bc47444a97600ab44f Mon Sep 17 00:00:00 2001 From: Nathan Ellenfield Date: Sun, 2 Sep 2018 21:40:54 -0400 Subject: [PATCH 2/2] Version bump --- src/EnumerableAssert/EnumerableAssert.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EnumerableAssert/EnumerableAssert.csproj b/src/EnumerableAssert/EnumerableAssert.csproj index 492ddce..176eace 100644 --- a/src/EnumerableAssert/EnumerableAssert.csproj +++ b/src/EnumerableAssert/EnumerableAssert.csproj @@ -9,9 +9,9 @@ https://github.com/ellenfieldn/MSTest.TestFramework.Contrib.EnumerableAssert/blob/master/LICENSE https://github.com/ellenfieldn/MSTest.TestFramework.Contrib.EnumerableAssert https://github.com/ellenfieldn/MSTest.TestFramework.Contrib.EnumerableAssert - Initial Alpha Release + Initial Alpha Release - Now with extensibility assertions enumerable assert MSTest Unittest MSTestV2 Microsoft TestFramework TestAdapter VisualStudio - 0.1.0 + 0.2.0