File: SetAssertsTests.cs
Web Access
Project: src\src\Microsoft.DotNet.XUnitAssert\tests\Microsoft.DotNet.XUnitAssert.Tests.csproj (Microsoft.DotNet.XUnitAssert.Tests)
using System;
using System.Collections.Generic;
using Xunit;
using Xunit.Sdk;
 
public class SetAssertsTests
{
	public class Subset
	{
		[Fact]
		public static void GuardClauses()
		{
			Assert.Throws<ArgumentNullException>(() => Assert.Subset(null!, new HashSet<int>()));
			Assert.Throws<SubsetException>(() => Assert.Subset(new HashSet<int>(), null));
		}
 
		[Fact]
		public static void IsSubset()
		{
			var expectedSuperset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 3 };
 
			Assert.Subset(expectedSuperset, actual);
		}
 
		[Fact]
		public static void IsProperSubset()
		{
			var expectedSuperset = new HashSet<int> { 1, 2, 3, 4 };
			var actual = new HashSet<int> { 1, 2, 3 };
 
			Assert.Subset(expectedSuperset, actual);
		}
 
		[Fact]
		public static void IsNotSubset()
		{
			var expectedSuperset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 7 };
 
			var ex = Assert.Throws<SubsetException>(() => Assert.Subset(expectedSuperset, actual));
 
			Assert.Equal(
				@"Assert.Subset() Failure" + Environment.NewLine +
				@"Expected: HashSet<Int32> [1, 2, 3]" + Environment.NewLine +
				@"Actual:   HashSet<Int32> [1, 2, 7]",
				ex.Message
			);
		}
	}
 
	public class ProperSubset
	{
		[Fact]
		public static void GuardClauses()
		{
			Assert.Throws<ArgumentNullException>(() => Assert.ProperSubset(null!, new HashSet<int>()));
			Assert.Throws<ProperSubsetException>(() => Assert.ProperSubset(new HashSet<int>(), null));
		}
 
		[Fact]
		public static void IsSubsetButNotProperSubset()
		{
			var expectedSuperset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 3 };
 
			var ex = Assert.Throws<ProperSubsetException>(() => Assert.ProperSubset(expectedSuperset, actual));
 
			Assert.Equal(
				@"Assert.ProperSubset() Failure" + Environment.NewLine +
				@"Expected: HashSet<Int32> [1, 2, 3]" + Environment.NewLine +
				@"Actual:   HashSet<Int32> [1, 2, 3]",
				ex.Message
			);
		}
 
		[Fact]
		public static void IsProperSubset()
		{
			var expectedSuperset = new HashSet<int> { 1, 2, 3, 4 };
			var actual = new HashSet<int> { 1, 2, 3 };
 
			Assert.ProperSubset(expectedSuperset, actual);
		}
 
		[Fact]
		public static void IsNotSubset()
		{
			var expectedSuperset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 7 };
 
			Assert.Throws<ProperSubsetException>(() => Assert.ProperSubset(expectedSuperset, actual));
		}
	}
 
	public class Superset
	{
		[Fact]
		public static void GuardClauses()
		{
			Assert.Throws<ArgumentNullException>(() => Assert.Superset(null!, new HashSet<int>()));
			Assert.Throws<SupersetException>(() => Assert.Superset(new HashSet<int>(), null));
		}
 
		[Fact]
		public static void IsSuperset()
		{
			var expectedSubset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 3 };
 
			Assert.Superset(expectedSubset, actual);
		}
 
		[Fact]
		public static void IsProperSuperset()
		{
			var expectedSubset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 3, 4 };
 
			Assert.Superset(expectedSubset, actual);
		}
 
		[Fact]
		public static void IsNotSuperset()
		{
			var expectedSubset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 7 };
 
			var ex = Assert.Throws<SupersetException>(() => Assert.Superset(expectedSubset, actual));
 
			Assert.Equal(
				@"Assert.Superset() Failure" + Environment.NewLine +
				@"Expected: HashSet<Int32> [1, 2, 3]" + Environment.NewLine +
				@"Actual:   HashSet<Int32> [1, 2, 7]",
				ex.Message
			);
		}
	}
 
	public class ProperSuperset
	{
		[Fact]
		public static void GuardClauses()
		{
			Assert.Throws<ArgumentNullException>(() => Assert.ProperSuperset(null!, new HashSet<int>()));
			Assert.Throws<ProperSupersetException>(() => Assert.ProperSuperset(new HashSet<int>(), null));
		}
 
		[Fact]
		public static void IsSupersetButNotProperSuperset()
		{
			var expectedSubset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 3 };
 
			var ex = Assert.Throws<ProperSupersetException>(() => Assert.ProperSuperset(expectedSubset, actual));
 
			Assert.Equal(
				@"Assert.ProperSuperset() Failure" + Environment.NewLine +
				@"Expected: HashSet<Int32> [1, 2, 3]" + Environment.NewLine +
				@"Actual:   HashSet<Int32> [1, 2, 3]",
				ex.Message
			);
		}
 
		[Fact]
		public static void IsProperSuperset()
		{
			var expectedSubset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 3, 4 };
 
			Assert.ProperSuperset(expectedSubset, actual);
		}
 
		[Fact]
		public static void IsNotSuperset()
		{
			var expectedSubset = new HashSet<int> { 1, 2, 3 };
			var actual = new HashSet<int> { 1, 2, 7 };
 
			Assert.Throws<ProperSupersetException>(() => Assert.ProperSuperset(expectedSubset, actual));
		}
	}
}