Skip to content

Commit

Permalink
Port xunit#2463 to v2
Browse files Browse the repository at this point in the history
  • Loading branch information
bradwilson authored and snakefoot committed May 27, 2022
1 parent b88fee5 commit a188825
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 4 deletions.
6 changes: 5 additions & 1 deletion src/xunit.assert.nuspec
Expand Up @@ -17,12 +17,16 @@
<group targetFramework="netstandard1.1">
<dependency id="NETStandard.Library" version="1.6.1" />
</group>
<group targetFramework="netstandard2.0" />
</dependencies>
</metadata>
<files>
<file target="_content\" src="..\tools\media\logo-128-transparent.png" />

<file src="xunit.assert\bin\$Configuration$\netstandard1.1\xunit.assert.dll" target="lib\netstandard1.1\" />
<file src="xunit.assert\bin\$Configuration$\netstandard1.1\xunit.assert.xml" target="lib\netstandard1.1\" />

<file src="xunit.assert\bin\$Configuration$\netstandard1.1\xunit.assert.dll" target="lib\netstandard2.0\" />
<file src="xunit.assert\bin\$Configuration$\netstandard1.1\xunit.assert.xml" target="lib\netstandard2.0\" />
</files>
</package>
</package>
2 changes: 1 addition & 1 deletion src/xunit.assert/Asserts
Submodule Asserts updated 1 files
+5 −8 EqualityAsserts.cs
2 changes: 1 addition & 1 deletion src/xunit.execution/xunit.execution.csproj
Expand Up @@ -6,7 +6,7 @@
<DefineConstants>$(DefineConstants);XUNIT_FRAMEWORK</DefineConstants>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<RootNamespace>Xunit.Sdk</RootNamespace>
<TargetFrameworks>net452;netstandard1.1</TargetFrameworks>
<TargetFrameworks>net452;netstandard1.1;netstandard2.0</TargetFrameworks>
</PropertyGroup>

<ItemGroup>
Expand Down
6 changes: 6 additions & 0 deletions src/xunit.extensibility.core.nuspec
Expand Up @@ -23,6 +23,9 @@
<dependency id="NETStandard.Library" version="1.6.1" />
<dependency id="xunit.abstractions" version="2.0.3" />
</group>
<group targetFramework="netstandard2.0">
<dependency id="xunit.abstractions" version="2.0.3" />
</group>
</dependencies>
</metadata>
<files>
Expand All @@ -36,5 +39,8 @@

<file src="xunit.core\bin\$Configuration$\netstandard1.1\xunit.core.dll" target="lib\netstandard1.1\" />
<file src="xunit.core\bin\$Configuration$\netstandard1.1\xunit.core.xml" target="lib\netstandard1.1\" />

<file src="xunit.core\bin\$Configuration$\netstandard1.1\xunit.core.dll" target="lib\netstandard2.0\" />
<file src="xunit.core\bin\$Configuration$\netstandard1.1\xunit.core.xml" target="lib\netstandard2.0\" />
</files>
</package>
8 changes: 7 additions & 1 deletion src/xunit.extensibility.execution.nuspec
Expand Up @@ -20,6 +20,9 @@
<dependency id="NETStandard.Library" version="1.6.1" />
<dependency id="xunit.extensibility.core" version="[$PackageVersion$]" />
</group>
<group targetFramework="netstandard2.0">
<dependency id="xunit.extensibility.core" version="[$PackageVersion$]" />
</group>
</dependencies>
</metadata>
<files>
Expand All @@ -30,5 +33,8 @@

<file src="xunit.execution\bin\$Configuration$\netstandard1.1\xunit.execution.dotnet.dll" target="lib\netstandard1.1\" />
<file src="xunit.execution\bin\$Configuration$\netstandard1.1\xunit.execution.dotnet.xml" target="lib\netstandard1.1\" />

<file src="xunit.execution\bin\$Configuration$\netstandard2.0\xunit.execution.dotnet.dll" target="lib\netstandard2.0\" />
<file src="xunit.execution\bin\$Configuration$\netstandard2.0\xunit.execution.dotnet.xml" target="lib\netstandard2.0\" />
</files>
</package>
</package>
28 changes: 28 additions & 0 deletions test/test.xunit.assert/Asserts/CollectionAssertsTests.cs
Expand Up @@ -925,6 +925,14 @@ public static void Equivalence()

Assert.Equal(expected, actual);
}

[Fact]
public static void EnumeratesOnlyOnce()
{
var expected = new[] { 1, 2, 3, 4, 5 };
var actual = new RunOnceEnumerable<int>(expected);
Assert.Equal(expected, actual);
}
}

public class EqualDictionary
Expand Down Expand Up @@ -1350,6 +1358,26 @@ public static void PredicateTooManyMatches()
}
}

sealed class RunOnceEnumerable<T> : IEnumerable<T>
{
private readonly IEnumerable<T> _source;
private bool _called;

public RunOnceEnumerable(IEnumerable<T> source)
{
_source = source;
}

public IEnumerator<T> GetEnumerator()
{
Assert.False(_called, "GetEnumerator() was called more than once");
_called = true;
return _source.GetEnumerator();
}

IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}

sealed class SpyEnumerator<T> : IEnumerable<T>, IEnumerator<T>
{
IEnumerator<T>? innerEnumerator;
Expand Down

0 comments on commit a188825

Please sign in to comment.