Skip to content

Commit c40ef90

Browse files
committed
First stab at reorganizing namespaces and projects. All but SQLite moved.
1 parent 95711c3 commit c40ef90

File tree

169 files changed

+25228
-1
lines changed

Some content is hidden

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

169 files changed

+25228
-1
lines changed

.nuget/NuGet.exe

166 KB
Binary file not shown.

src/All.sln

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 14
4-
VisualStudioVersion = 14.0.24720.0
4+
VisualStudioVersion = 14.0.25420.1
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Projac", "Projac\Projac.csproj", "{359863ED-13EA-4C04-BF6F-C9CF611A7129}"
77
EndProject
@@ -23,6 +23,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Projac.Connector.Tests", "P
2323
EndProject
2424
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Paramol.SQLite", "Paramol.SQLite\Paramol.SQLite.csproj", "{83F5E4B1-A8BA-4B7F-9686-09E5B4F9CB21}"
2525
EndProject
26+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Projac.Sql", "Projac.Sql\Projac.Sql.csproj", "{A1FA5F93-FE37-4448-89B6-1ECBCDAEF043}"
27+
EndProject
28+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Projac.Sql.Tests", "Projac.Sql.Tests\Projac.Sql.Tests.csproj", "{4DD77609-8FE0-42FC-ACC2-9AAD8C9CE8E4}"
29+
EndProject
30+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Projac.SqlClient", "Projac.SqlClient\Projac.SqlClient.csproj", "{DCCE7FF2-E9F6-43AF-ABE3-443D66A64717}"
31+
EndProject
2632
Global
2733
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2834
Debug|Any CPU = Debug|Any CPU
@@ -61,6 +67,18 @@ Global
6167
{83F5E4B1-A8BA-4B7F-9686-09E5B4F9CB21}.Debug|Any CPU.Build.0 = Debug|Any CPU
6268
{83F5E4B1-A8BA-4B7F-9686-09E5B4F9CB21}.Release|Any CPU.ActiveCfg = Release|Any CPU
6369
{83F5E4B1-A8BA-4B7F-9686-09E5B4F9CB21}.Release|Any CPU.Build.0 = Release|Any CPU
70+
{A1FA5F93-FE37-4448-89B6-1ECBCDAEF043}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
71+
{A1FA5F93-FE37-4448-89B6-1ECBCDAEF043}.Debug|Any CPU.Build.0 = Debug|Any CPU
72+
{A1FA5F93-FE37-4448-89B6-1ECBCDAEF043}.Release|Any CPU.ActiveCfg = Release|Any CPU
73+
{A1FA5F93-FE37-4448-89B6-1ECBCDAEF043}.Release|Any CPU.Build.0 = Release|Any CPU
74+
{4DD77609-8FE0-42FC-ACC2-9AAD8C9CE8E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
75+
{4DD77609-8FE0-42FC-ACC2-9AAD8C9CE8E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
76+
{4DD77609-8FE0-42FC-ACC2-9AAD8C9CE8E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
77+
{4DD77609-8FE0-42FC-ACC2-9AAD8C9CE8E4}.Release|Any CPU.Build.0 = Release|Any CPU
78+
{DCCE7FF2-E9F6-43AF-ABE3-443D66A64717}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
79+
{DCCE7FF2-E9F6-43AF-ABE3-443D66A64717}.Debug|Any CPU.Build.0 = Debug|Any CPU
80+
{DCCE7FF2-E9F6-43AF-ABE3-443D66A64717}.Release|Any CPU.ActiveCfg = Release|Any CPU
81+
{DCCE7FF2-E9F6-43AF-ABE3-443D66A64717}.Release|Any CPU.Build.0 = Release|Any CPU
6482
EndGlobalSection
6583
GlobalSection(SolutionProperties) = preSolution
6684
HideSolutionNode = FALSE
@@ -73,5 +91,8 @@ Global
7391
{1C52A225-809B-44AF-8E8C-B5A44A4B1E9D} = {1C94919D-B674-4DB4-A989-B7F0B4D400E1}
7492
{EAC883ED-BB1D-48C3-A0B2-D89D481BB74E} = {1C94919D-B674-4DB4-A989-B7F0B4D400E1}
7593
{83F5E4B1-A8BA-4B7F-9686-09E5B4F9CB21} = {24478CDC-4A58-40F6-A042-E19252568BD6}
94+
{A1FA5F93-FE37-4448-89B6-1ECBCDAEF043} = {24478CDC-4A58-40F6-A042-E19252568BD6}
95+
{4DD77609-8FE0-42FC-ACC2-9AAD8C9CE8E4} = {24478CDC-4A58-40F6-A042-E19252568BD6}
96+
{DCCE7FF2-E9F6-43AF-ABE3-443D66A64717} = {24478CDC-4A58-40F6-A042-E19252568BD6}
7697
EndGlobalSection
7798
EndGlobal
Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Data;
4+
using System.Data.Common;
5+
using System.Linq;
6+
using NUnit.Framework;
7+
using Projac.Sql.Tests.Framework;
8+
9+
namespace Projac.Sql.Tests
10+
{
11+
[TestFixture]
12+
public class AnonymousSqlProjectionBuilderTests
13+
{
14+
private AnonymousSqlProjectionBuilder _sut;
15+
16+
[SetUp]
17+
public void SetUp()
18+
{
19+
_sut = new AnonymousSqlProjectionBuilder();
20+
}
21+
22+
[Test]
23+
public void HandlersCanNotBeNull()
24+
{
25+
Assert.Throws<ArgumentNullException>(() => new AnonymousSqlProjectionBuilder(null));
26+
}
27+
28+
[Test]
29+
public void HandlersAreCopiedOnConstruction()
30+
{
31+
var handler1 = new SqlProjectionHandler(typeof(object), o => new SqlNonQueryCommand[0]);
32+
var handler2 = new SqlProjectionHandler(typeof(object), o => new SqlNonQueryCommand[0]);
33+
var sut = new AnonymousSqlProjectionBuilder(new[]
34+
{
35+
handler1,
36+
handler2
37+
});
38+
39+
var result = sut.Build();
40+
41+
Assert.That(result, Is.EquivalentTo(new[]
42+
{
43+
handler1, handler2
44+
}));
45+
46+
}
47+
48+
[Test]
49+
public void EmptyInstanceBuildReturnsExpectedResult()
50+
{
51+
var result = new AnonymousSqlProjectionBuilder().Build();
52+
53+
Assert.That(result, Is.Empty);
54+
}
55+
56+
[Test]
57+
public void InitialInstanceBuildReturnsExpectedResult()
58+
{
59+
var result = _sut.Build();
60+
61+
Assert.That(result, Is.Empty);
62+
}
63+
64+
[Test]
65+
public void WhenHandlerWithSingleCommandCanNotBeNull()
66+
{
67+
Assert.Throws<ArgumentNullException>(() => _sut.When((Func<object, SqlNonQueryCommand>)null));
68+
}
69+
70+
71+
[Test]
72+
public void WhenHandlerWithSingleCommandReturnsExpectedResult()
73+
{
74+
var result = _sut.When((object _) => CommandFactory());
75+
76+
Assert.That(result, Is.InstanceOf<AnonymousSqlProjectionBuilder>());
77+
}
78+
79+
[Test]
80+
public void WhenHandlerWithSingleCommandIsPreservedUponBuild()
81+
{
82+
var command = CommandFactory();
83+
Func<object, SqlNonQueryCommand> handler = _ => command;
84+
var result = _sut.When(handler).Build();
85+
86+
Assert.That(
87+
result.Count(_ => _.Message == typeof(object) && _.Handler(null).SequenceEqual(new[] { command })),
88+
Is.EqualTo(1));
89+
}
90+
91+
[Test]
92+
public void WhenHandlerWithSingleStatementPreservesPreviouslyCollectedStatementsUponBuild()
93+
{
94+
var commands = new[]
95+
{
96+
CommandFactory(),
97+
CommandFactory()
98+
};
99+
var command = CommandFactory();
100+
Func<object, SqlNonQueryCommand> handler = _ => command;
101+
var result = _sut.When((object _) => commands).When(handler).Build();
102+
103+
Assert.That(
104+
result.Count(_ => _.Message == typeof(object) && _.Handler(null).SequenceEqual(commands)),
105+
Is.EqualTo(1));
106+
}
107+
108+
[Test]
109+
public void WhenHandlerWithCommandArrayCanNotBeNull()
110+
{
111+
Assert.Throws<ArgumentNullException>(() => _sut.When((Func<object, SqlNonQueryCommand[]>)null));
112+
}
113+
114+
[Test]
115+
public void WhenHandlerWithCommandArrayReturnsExpectedResult()
116+
{
117+
var result = _sut.When((object _) => new[] { CommandFactory(), CommandFactory() });
118+
119+
Assert.That(result, Is.InstanceOf<AnonymousSqlProjectionBuilder>());
120+
}
121+
122+
[Test]
123+
public void WhenHandlerWithStatementArrayIsPreservedUponBuild()
124+
{
125+
var command1 = CommandFactory();
126+
var command2 = CommandFactory();
127+
Func<object, SqlNonQueryCommand[]> handler = _ => new[] { command1, command2 };
128+
var result = _sut.When(handler).Build();
129+
130+
Assert.That(
131+
result.Count(_ => _.Message == typeof(object) && _.Handler(null).SequenceEqual(new[] { command1, command2 })),
132+
Is.EqualTo(1));
133+
}
134+
135+
[Test]
136+
public void WhenHandlerWithStatementArrayPreservesPreviouslyCollectedStatementsUponBuild()
137+
{
138+
var commands = new[]
139+
{
140+
CommandFactory(),
141+
CommandFactory()
142+
};
143+
var command1 = CommandFactory();
144+
var command2 = CommandFactory();
145+
Func<object, SqlNonQueryCommand[]> handler = _ => new[] { command1, command2 };
146+
var result = _sut.When((object _) => commands).When(handler).Build();
147+
148+
Assert.That(
149+
result.Count(_ => _.Message == typeof(object) && _.Handler(null).SequenceEqual(commands)),
150+
Is.EqualTo(1));
151+
}
152+
153+
[Test]
154+
public void WhenHandlerWithCommandEnumerationCanNotBeNull()
155+
{
156+
Assert.Throws<ArgumentNullException>(() => _sut.When((Func<object, IEnumerable<SqlNonQueryCommand>>)null));
157+
}
158+
159+
[Test]
160+
public void WhenHandlerWithCommandEnumerationReturnsExpectedResult()
161+
{
162+
var result = _sut.When((object _) => (IEnumerable<SqlNonQueryCommand>)new[]
163+
{
164+
CommandFactory(), CommandFactory()
165+
});
166+
167+
Assert.That(result, Is.InstanceOf<AnonymousSqlProjectionBuilder>());
168+
}
169+
170+
[Test]
171+
public void WhenHandlerWithStatementEnumerationIsPreservedUponBuild()
172+
{
173+
var command1 = CommandFactory();
174+
var command2 = CommandFactory();
175+
Func<object, IEnumerable<SqlNonQueryCommand>> handler = _ => (IEnumerable<SqlNonQueryCommand>)new[]
176+
{
177+
command1, command2
178+
};
179+
var result = _sut.When(handler).Build();
180+
181+
Assert.That(
182+
result.Count(_ => _.Message == typeof(object) && _.Handler(null).SequenceEqual(new[] { command1, command2 })),
183+
Is.EqualTo(1));
184+
}
185+
186+
[Test]
187+
public void WhenHandlerWithCommandEnumerationPreservesPreviouslyCollectedStatementsUponBuild()
188+
{
189+
var commands = new[]
190+
{
191+
CommandFactory(),
192+
CommandFactory()
193+
};
194+
var command1 = CommandFactory();
195+
var command2 = CommandFactory();
196+
Func<object, IEnumerable<SqlNonQueryCommand>> handler = _ => (IEnumerable<SqlNonQueryCommand>)new[]
197+
{
198+
command1, command2
199+
};
200+
var result = _sut.When((object _) => commands).When(handler).Build();
201+
202+
Assert.That(
203+
result.Count(_ => _.Message == typeof(object) && _.Handler(null).SequenceEqual(commands)),
204+
Is.EqualTo(1));
205+
}
206+
207+
private static SqlNonQueryCommand CommandFactory()
208+
{
209+
return new SqlNonQueryCommandStub("text", new DbParameter[0], CommandType.Text);
210+
}
211+
}
212+
}

0 commit comments

Comments
 (0)