Skip to content

Commit 4af3f5f

Browse files
committed
Merge remote-tracking branch 'origin/master' into fluent-assertions
2 parents 2741014 + 482ee36 commit 4af3f5f

File tree

45 files changed

+419
-60
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+419
-60
lines changed

CodeJam.Blocks.Tests/CodeJam.Blocks.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
<ItemGroup>
2020
<PackageReference Include="NUnit" Version="3.11.0" />
21-
<PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
21+
<PackageReference Include="NUnit3TestAdapter" Version="3.12.0" />
2222
</ItemGroup>
2323

2424
<ItemGroup>

CodeJam.Experimental.Tests/CodeJam.Experimental.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
<ItemGroup>
2121
<PackageReference Include="NUnit" Version="3.11.0" />
22-
<PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
22+
<PackageReference Include="NUnit3TestAdapter" Version="3.12.0" />
2323
</ItemGroup>
2424

2525
<ItemGroup>

CodeJam.Main.Tests/Arithmetic/OperatorsTests.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<#@ template debug="false" hostspecific="false" language="C#" #>
2-
<#@ include file="$(SolutionDir)T4.Reusable\Autogenerated.ttinclude" #>
2+
<#@ include file="$(SolutionDir)Build\T4\Autogenerated.ttinclude" #>
33
<#@ include file="$(SolutionDir)Main\src\Arithmetic\Operators.ttinclude" #>
44
#if !LESSTHAN_NET35
55
using System;

CodeJam.Main.Tests/CodeJam.Main.Tests.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<Import Project="..\Build\Props\CodeJam.Default.props" />
44
<Import Project="..\Build\Props\CodeJam.Targeting.props" />
@@ -25,14 +25,14 @@
2525

2626
<ItemGroup Condition=" '$(TargetFramework)' != 'net20'">
2727
<PackageReference Include="NUnit" Version="3.11.0" />
28-
<PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
28+
<PackageReference Include="NUnit3TestAdapter" Version="3.12.0" />
2929
</ItemGroup>
3030

3131
<!-- NUnit 3.11 is the last NUnit supporting .NET 2.0 -->
3232
<!-- See: https://github.com/nunit/nunit/issues/3070 -->
3333
<ItemGroup Condition=" '$(TargetFramework)' == 'net20'">
3434
<PackageReference Include="NUnit" Version="3.11.0" />
35-
<PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
35+
<PackageReference Include="NUnit3TestAdapter" Version="3.12.0" />
3636
</ItemGroup>
3737

3838
<ItemGroup>
@@ -105,7 +105,7 @@
105105
<EmbeddedResource Include="Strings\Data\Words.txt" />
106106
</ItemGroup>
107107

108-
<Target Name="ChangeAliasesOfNugetRefs" BeforeTargets="FindReferenceAssembliesForReferences;ResolveReferences" Condition="'$(TargetFramework)' == 'net20'" >
108+
<Target Name="ChangeAliasesOfNugetRefs" BeforeTargets="FindReferenceAssembliesForReferences;ResolveReferences" Condition="'$(TargetFramework)' == 'net20'">
109109
<ItemGroup>
110110
<ReferencePath Condition="'%(FileName)' == 'NUnit.System.Linq'">
111111
<Aliases>nunitlinq</Aliases>
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
5+
using NUnit.Framework;
6+
7+
namespace CodeJam.Collections
8+
{
9+
[TestFixture]
10+
public class DictionaryCollectionExtensionsTest
11+
{
12+
#region List
13+
14+
[Test]
15+
public void AddOrCreateList_ICollection()
16+
{
17+
var d = new Dictionary<string, ICollection<int>>();
18+
d.AddOrCreateList("a", 1);
19+
Assert.AreEqual(1, d["a"].First());
20+
21+
d["b"] = new List<int> { 2 };
22+
d.AddOrCreateList("b", 3);
23+
Assert.AreEqual(2, d["b"].First());
24+
Assert.AreEqual(3, d["b"].Last());
25+
}
26+
27+
[Test]
28+
public void AddOrCreateList_IList()
29+
{
30+
var d = new Dictionary<string, IList<int>>();
31+
d.AddOrCreateList("a", 1);
32+
Assert.AreEqual(1, d["a"].First());
33+
34+
d["b"] = new List<int> { 2 };
35+
d.AddOrCreateList("b", 3);
36+
Assert.AreEqual(2, d["b"].First());
37+
Assert.AreEqual(3, d["b"].Last());
38+
}
39+
40+
[Test]
41+
public void AddOrCreateList_List()
42+
{
43+
var d = new Dictionary<string, List<int>>();
44+
d.AddOrCreateList("a", 1);
45+
Assert.AreEqual(1, d["a"].First());
46+
47+
d["b"] = new List<int> { 2 };
48+
d.AddOrCreateList("b", 3);
49+
Assert.AreEqual(2, d["b"].First());
50+
Assert.AreEqual(3, d["b"].Last());
51+
}
52+
53+
#endregion
54+
55+
#region HashSet
56+
57+
[Test]
58+
public void AddOrCreateHashSet_ICollection()
59+
{
60+
var d = new Dictionary<string, ICollection<int>>();
61+
d.AddOrCreateHashSet("a", 1);
62+
Assert.AreEqual(1, d["a"].First());
63+
64+
d["b"] = new HashSet<int> { 2 };
65+
d.AddOrCreateHashSet("b", 3);
66+
Assert.AreEqual(2, d["b"].First());
67+
Assert.AreEqual(3, d["b"].Last());
68+
}
69+
70+
#if !LESSTHAN_NET40
71+
[Test]
72+
public void AddOrCreateHashSet_ISet()
73+
{
74+
var d = new Dictionary<string, ISet<int>>();
75+
d.AddOrCreateHashSet("a", 1);
76+
Assert.AreEqual(1, d["a"].First());
77+
78+
d["b"] = new HashSet<int> { 2 };
79+
d.AddOrCreateHashSet("b", 3);
80+
Assert.AreEqual(2, d["b"].First());
81+
Assert.AreEqual(3, d["b"].Last());
82+
}
83+
#endif
84+
85+
[Test]
86+
public void AddOrCreateHashSet_HashSet()
87+
{
88+
var d = new Dictionary<string, HashSet<int>>();
89+
d.AddOrCreateHashSet("a", 1);
90+
Assert.AreEqual(1, d["a"].First());
91+
92+
d["b"] = new HashSet<int> { 2 };
93+
d.AddOrCreateHashSet("b", 3);
94+
Assert.AreEqual(2, d["b"].First());
95+
Assert.AreEqual(3, d["b"].Last());
96+
}
97+
98+
#endregion
99+
100+
#region Collection
101+
102+
[Test]
103+
public void AddOrCreateCollection_ICollection()
104+
{
105+
var d = new Dictionary<string, ICollection<int>>();
106+
d.AddOrCreateCollection("a", 1, () => new List<int>());
107+
Assert.AreEqual(1, d["a"].First());
108+
109+
d["b"] = new HashSet<int> { 2 };
110+
d.AddOrCreateCollection("b", 3, () => new List<int>());
111+
Assert.AreEqual(2, d["b"].First());
112+
Assert.AreEqual(3, d["b"].Last());
113+
}
114+
115+
[Test]
116+
public void AddOrCreateCollection_IList()
117+
{
118+
var d = new Dictionary<string, IList<int>>();
119+
d.AddOrCreateCollection("a", 1, () => new List<int>());
120+
Assert.AreEqual(1, d["a"].First());
121+
122+
d["b"] = new List<int> { 2 };
123+
d.AddOrCreateCollection("b", 3, () => new List<int>());
124+
Assert.AreEqual(2, d["b"].First());
125+
Assert.AreEqual(3, d["b"].Last());
126+
}
127+
128+
#if !LESSTHAN_NET40
129+
[Test]
130+
public void AddOrCreateCollection_ISet()
131+
{
132+
var d = new Dictionary<string, ISet<int>>();
133+
d.AddOrCreateCollection("a", 1, () => new HashSet<int>());
134+
Assert.AreEqual(1, d["a"].First());
135+
136+
d["b"] = new HashSet<int> { 2 };
137+
d.AddOrCreateCollection("b", 3, () => new HashSet<int>());
138+
Assert.AreEqual(2, d["b"].First());
139+
Assert.AreEqual(3, d["b"].Last());
140+
}
141+
#endif
142+
143+
[Test]
144+
public void AddOrCreateCollection_List()
145+
{
146+
var d = new Dictionary<string, List<int>>();
147+
d.AddOrCreateCollection("a", 1, () => new List<int>());
148+
Assert.AreEqual(1, d["a"].First());
149+
150+
d["b"] = new List<int> { 2 };
151+
d.AddOrCreateCollection("b", 3, () => new List<int>());
152+
Assert.AreEqual(2, d["b"].First());
153+
Assert.AreEqual(3, d["b"].Last());
154+
}
155+
156+
[Test]
157+
public void AddOrCreateCollection_HashSet()
158+
{
159+
var d = new Dictionary<string, HashSet<int>>();
160+
d.AddOrCreateCollection("a", 1, () => new HashSet<int>());
161+
Assert.AreEqual(1, d["a"].First());
162+
163+
d["b"] = new HashSet<int> { 2 };
164+
d.AddOrCreateCollection("b", 3, () => new HashSet<int>());
165+
Assert.AreEqual(2, d["b"].First());
166+
Assert.AreEqual(3, d["b"].Last());
167+
}
168+
169+
#endregion
170+
}
171+
}

CodeJam.Main.Tests/Ranges/RangeTests.WithKey.tt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<#@ template debug="false" hostspecific="true" language="C#" #>
2-
<#@ include file="$(SolutionDir)T4.Reusable\Autogenerated.ttinclude" #>
3-
<#@ include file="$(SolutionDir)T4.Reusable\Transform.ttinclude" #>
2+
<#@ include file="$(SolutionDir)Build\T4\Autogenerated.ttinclude" #>
3+
<#@ include file="$(SolutionDir)Build\T4\Transform.ttinclude" #>
44
<#
55
Transform(
66
"RangeTests.NoKey.cs",

CodeJam.Main.Tests/Structures/OneOfTests.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<#@ template debug="false" hostspecific="false" language="C#" #>
2-
<#@ include file="$(SolutionDir)T4.Reusable\Autogenerated.ttinclude" #>
2+
<#@ include file="$(SolutionDir)Build\T4\Autogenerated.ttinclude" #>
33
using NUnit.Framework;
44

55
namespace CodeJam

CodeJam.Main.Tests/Threading/InterlockedOperationsTests.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<#@ template debug="false" hostspecific="false" language="C#" #>
2-
<#@ include file="$(SolutionDir)T4.Reusable\Autogenerated.ttinclude" #>
2+
<#@ include file="$(SolutionDir)Build\T4\Autogenerated.ttinclude" #>
33
#if !LESSTHAN_NET35
44
using System;
55
using System.Threading.Tasks;

CodeJam.Main/Algorithms/Algorithms.EqualRange.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<#@ template debug="false" hostspecific="false" language="C#" #>
2-
<#@ include file="$(SolutionDir)T4.Reusable\Autogenerated.ttinclude" #>
2+
<#@ include file="$(SolutionDir)Build\T4\Autogenerated.ttinclude" #>
33
#if !LESSTHAN_NET35
44
using System;
55
using System.Collections.Generic;

CodeJam.Main/Algorithms/Algorithms.LowerBound.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<#@ template debug="false" hostspecific="false" language="C#" #>
2-
<#@ include file="$(SolutionDir)T4.Reusable\Autogenerated.ttinclude" #>
2+
<#@ include file="$(SolutionDir)Build\T4\Autogenerated.ttinclude" #>
33
using System;
44
using System.Collections.Generic;
55

0 commit comments

Comments
 (0)