Merge branch 'modernize/tests-and-amalgamation'

This commit is contained in:
root
2026-02-26 15:33:52 +01:00
36 changed files with 18218 additions and 19793 deletions

View File

@@ -1,63 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <Project Sdk="Microsoft.NET.Sdk">
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{A64D2052-D0CD-488E-BF05-E5952615D926}</ProjectGuid>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <TargetFramework>net10.0</TargetFramework>
<RootNamespace>AmalgamationTool</RootNamespace> <ImplicitUsings>enable</ImplicitUsings>
<AssemblyName>AmalgamationTool</AssemblyName> <Nullable>enable</Nullable>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion> <LangVersion>latest</LangVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Compile Remove="DynamORM.Amalgamation.cs" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Compile Include="DynamORM.Amalgamation.cs">
<ExcludeFromStyleCop>True</ExcludeFromStyleCop>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project> </Project>

File diff suppressed because it is too large Load Diff

View File

@@ -1,192 +1,261 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
namespace AmalgamationTool namespace AmalgamationTool;
internal static class Program
{ {
internal class Program private const string NamespaceToken = "namespace ";
private static int Main(string[] args)
{ {
private static void Main(string[] args) if (args.Length < 2)
{ {
List<string> usings = new List<string>(); Console.Error.WriteLine("Usage: AmalgamationTool <sourceDir> <outputFile>");
Dictionary<string, List<string>> classes = new Dictionary<string, List<string>>(); return 1;
// Build a file using string builder.
StringBuilder sb = new StringBuilder();
foreach (var f in new DirectoryInfo(Path.GetFullPath(args[0].Trim('"', '\''))).GetFiles("*.cs", SearchOption.AllDirectories))
{
string content = File.ReadAllText(f.FullName);
string namespaceName = string.Empty;
// Deal with usings
foreach (var u in content.Split(new string[] { Environment.NewLine }, StringSplitOptions.None)
.Where(l => l.Trim().StartsWith("using ") && !l.Trim().StartsWith("using ("))
.Select(l => l.Trim()))
if (!usings.Contains(u))
usings.Add(u);
// Extract namespace
//if (args.Length > 2)
//{
// var tcontent = Regex.Replace(content, @"^\s*using\s+.*\s*;$", string.Empty);
// tcontent = Regex.Replace(content, @"^\s*namespace\s+.*\s*", string.Empty).Trim();
// var ns = Regex.Match(content, @"^\s*namespace\s+(?<ns>.*)\s*");
// if (ns.Success)
// {
// if (!classes.ContainsKey(ns.Groups["ns"].Value))
// classes.Add(ns.Groups["ns"].Value, new List<string>());
// classes[ns.Groups["ns"].Value].Add(tcontent);
// }
//}
//else
{
if (content.Trim().Length == 0)
continue;
var nstart = content.IndexOf("namespace ") + "namespace ".Length;
var bbrace = content.IndexOf("{", nstart);
var nlen = bbrace - nstart;
if (nstart < "namespace ".Length)
{
if (f.Name.ToLower() == "assemblyinfo.cs")
{
var hs = content.IndexOf("/*");
var es = content.IndexOf("*/", hs) + 2;
if (es > hs)
{
sb.AppendLine(content.Substring(hs, es - hs));
sb.AppendLine();
}
}
continue;
}
string ns = content.Substring(nstart, nlen).Trim();
// Add namespace if not exist
if (!classes.ContainsKey(ns))
classes.Add(ns, new List<string>());
var ebrace = content.LastIndexOf('}');
// Cut content as class/enum
classes[ns].Add(content.Substring(bbrace + 1, ebrace - bbrace - 1));
}
}
usings.Sort();
foreach (var u in usings)
sb.AppendLine(u);
sb.AppendLine(@"
[module: System.Diagnostics.CodeAnalysis.SuppressMessage(""StyleCop.CSharp.MaintainabilityRules"", ""SA1402:FileMayOnlyContainASingleClass"", Justification = ""This is a generated file which generates all the necessary support classes."")]
[module: System.Diagnostics.CodeAnalysis.SuppressMessage(""StyleCop.CSharp.MaintainabilityRules"", ""SA1403:FileMayOnlyContainASingleNamespace"", Justification = ""This is a generated file which generates all the necessary support classes."")]");
FillClassesAndNamespacesIddented(classes, sb);
string amalgamation = sb.ToString();
sb = new StringBuilder();
string prevTrimmed = null;
string[] array = amalgamation.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
for (int i = 0; i < array.Length; i++)
{
string l = array[i];
var currentTrimmed = l.Trim();
var nextTrimmed = (i + 1 == array.Length) ? null : array[i + 1].Trim();
if (prevTrimmed != null)
{
switch (prevTrimmed)
{
case "":
if (currentTrimmed == string.Empty)
continue;
break;
case "{":
case "}":
if (currentTrimmed == string.Empty && (nextTrimmed == prevTrimmed || nextTrimmed == string.Empty))
continue;
break;
}
}
sb.AppendLine(l);
prevTrimmed = currentTrimmed;
}
File.WriteAllText(Path.GetFullPath(args[1].Trim('"', '\'')), sb.ToString());
} }
private static void FillClassesAndNamespaces(Dictionary<string, List<string>> classes, StringBuilder sb) var sourceDir = Path.GetFullPath(args[0].Trim('"', '\''));
var outputFile = Path.GetFullPath(args[1].Trim('"', '\''));
if (!Directory.Exists(sourceDir))
{ {
foreach (var n in classes) Console.Error.WriteLine($"Source directory not found: {sourceDir}");
{ return 2;
sb.AppendFormat("namespace {0}{1}{{", n.Key, Environment.NewLine);
n.Value.ForEach(c => sb.Append(c));
sb.AppendLine("}");
sb.AppendLine(string.Empty);
}
} }
private static void FillClassesAndNamespacesIddented(Dictionary<string, List<string>> classes, StringBuilder sb) var allUsings = new SortedSet<string>(StringComparer.Ordinal);
var namespaces = new SortedDictionary<string, List<string>>(StringComparer.Ordinal);
var headerComment = string.Empty;
foreach (var file in EnumerateInputFiles(sourceDir))
{ {
var min = classes.Min(k => k.Key.Split('.').Count()); var content = File.ReadAllText(file);
if (string.IsNullOrWhiteSpace(content))
foreach (var n in classes.Where(nc => nc.Key.Split('.').Count() == min))
{ {
sb.AppendFormat("namespace {0}{1}{{", n.Key, Environment.NewLine); continue;
n.Value.ForEach(c => sb.Append(c));
SubNamespaces(classes, n.Key, sb, min);
sb.AppendLine("}");
sb.AppendLine(string.Empty);
} }
if (string.IsNullOrEmpty(headerComment))
{
headerComment = TryGetFileHeaderComment(content);
}
foreach (var @using in ExtractUsingLines(content))
{
allUsings.Add(@using);
}
var nsData = TryExtractNamespaceBody(content);
if (nsData == null)
{
continue;
}
if (!namespaces.TryGetValue(nsData.Value.Namespace, out var nodes))
{
nodes = new List<string>();
namespaces[nsData.Value.Namespace] = nodes;
}
nodes.Add(nsData.Value.Body);
} }
private static void SubNamespaces(Dictionary<string, List<string>> classes, string p, StringBuilder sb, int ident) var output = BuildAmalgamation(headerComment, allUsings, namespaces);
Directory.CreateDirectory(Path.GetDirectoryName(outputFile) ?? ".");
File.WriteAllText(outputFile, output, new UTF8Encoding(false));
Console.WriteLine($"Amalgamation generated: {outputFile}");
return 0;
}
private static IEnumerable<string> EnumerateInputFiles(string sourceDir)
{
var root = new DirectoryInfo(sourceDir);
return root.EnumerateFiles("*.cs", SearchOption.AllDirectories)
.Where(f => !f.FullName.Contains($"{Path.DirectorySeparatorChar}bin{Path.DirectorySeparatorChar}", StringComparison.OrdinalIgnoreCase))
.Where(f => !f.FullName.Contains($"{Path.DirectorySeparatorChar}obj{Path.DirectorySeparatorChar}", StringComparison.OrdinalIgnoreCase))
.Where(f => !f.Name.Equals("AssemblyInfo.cs", StringComparison.OrdinalIgnoreCase))
.Where(f => !f.Name.Equals("DynamORM.Amalgamation.cs", StringComparison.OrdinalIgnoreCase))
.Select(f => f.FullName)
.OrderBy(f => f, StringComparer.Ordinal);
}
private static IEnumerable<string> ExtractUsingLines(string content)
{
var matches = Regex.Matches(content, @"^\s*using\s+[^;]+;", RegexOptions.Multiline);
foreach (Match match in matches)
{ {
sb.AppendLine(string.Empty); var line = match.Value.Trim();
if (!line.StartsWith("using (", StringComparison.Ordinal))
foreach (var n in classes.Where(nc => nc.Key.Split('.').Count() == ident + 1 && nc.Key.StartsWith(p)))
{ {
for (int i = 0; i < ident; i++) sb.Append(" "); yield return line;
sb.AppendFormat("namespace {0}{1}", n.Key.Substring(p.Length + 1), Environment.NewLine);
for (int i = 0; i < ident; i++) sb.Append(" ");
sb.Append("{");
n.Value.ForEach(c =>
{
foreach (var l in c.Split(new string[] { Environment.NewLine }, StringSplitOptions.None))
{
for (int i = 0; i < ident; i++) sb.Append(" ");
sb.AppendLine(l);
}
});
SubNamespaces(classes, n.Key, sb, ident + 1);
for (int i = 0; i < ident; i++) sb.Append(" ");
sb.AppendLine("}");
sb.AppendLine(string.Empty);
} }
} }
} }
private static (string Namespace, string Body)? TryExtractNamespaceBody(string content)
{
var nsIndex = content.IndexOf(NamespaceToken, StringComparison.Ordinal);
if (nsIndex < 0)
{
return null;
}
var nsStart = nsIndex + NamespaceToken.Length;
var braceStart = content.IndexOf('{', nsStart);
if (braceStart < 0)
{
return null;
}
var namespaceName = content.Substring(nsStart, braceStart - nsStart).Trim();
if (string.IsNullOrWhiteSpace(namespaceName))
{
return null;
}
var braceEnd = FindMatchingBrace(content, braceStart);
if (braceEnd <= braceStart)
{
return null;
}
var body = content.Substring(braceStart + 1, braceEnd - braceStart - 1).Trim('\r', '\n');
return (namespaceName, body);
}
private static int FindMatchingBrace(string content, int openBrace)
{
var depth = 0;
for (var i = openBrace; i < content.Length; i++)
{
switch (content[i])
{
case '{':
depth++;
break;
case '}':
depth--;
if (depth == 0)
{
return i;
}
break;
}
}
return -1;
}
private static string TryGetFileHeaderComment(string content)
{
var match = Regex.Match(content, @"^\s*/\*.*?\*/", RegexOptions.Singleline);
return match.Success ? match.Value.Trim() : string.Empty;
}
private static string BuildAmalgamation(
string headerComment,
IEnumerable<string> allUsings,
SortedDictionary<string, List<string>> namespaces)
{
var sb = new StringBuilder();
if (!string.IsNullOrWhiteSpace(headerComment))
{
sb.AppendLine(headerComment);
sb.AppendLine();
}
foreach (var @using in allUsings)
{
sb.AppendLine(@using);
}
sb.AppendLine();
sb.AppendLine("[module: System.Diagnostics.CodeAnalysis.SuppressMessage(\"StyleCop.CSharp.MaintainabilityRules\", \"SA1402:FileMayOnlyContainASingleClass\", Justification = \"This is a generated file which generates all the necessary support classes.\")]");
sb.AppendLine("[module: System.Diagnostics.CodeAnalysis.SuppressMessage(\"StyleCop.CSharp.MaintainabilityRules\", \"SA1403:FileMayOnlyContainASingleNamespace\", Justification = \"This is a generated file which generates all the necessary support classes.\")]");
sb.AppendLine();
FillNamespaceTree(namespaces, sb);
return CleanupWhitespace(sb.ToString());
}
private static void FillNamespaceTree(SortedDictionary<string, List<string>> classes, StringBuilder sb)
{
var minDepth = classes.Keys.Min(k => k.Split('.').Length);
foreach (var root in classes.Where(c => c.Key.Split('.').Length == minDepth))
{
sb.AppendLine($"namespace {root.Key}");
sb.AppendLine("{");
foreach (var code in root.Value)
{
sb.AppendLine(code);
}
FillSubNamespaces(classes, root.Key, minDepth, sb);
sb.AppendLine("}");
sb.AppendLine();
}
}
private static void FillSubNamespaces(
SortedDictionary<string, List<string>> classes,
string parent,
int depth,
StringBuilder sb)
{
foreach (var child in classes.Where(c => c.Key.StartsWith(parent + ".", StringComparison.Ordinal) && c.Key.Split('.').Length == depth + 1))
{
var indent = new string(' ', depth * 4);
var shortNamespace = child.Key.Substring(parent.Length + 1);
sb.Append(indent).AppendLine($"namespace {shortNamespace}");
sb.Append(indent).AppendLine("{");
foreach (var block in child.Value)
{
foreach (var line in block.Replace("\r\n", "\n").Split('\n'))
{
sb.Append(indent).Append(" ").AppendLine(line);
}
}
FillSubNamespaces(classes, child.Key, depth + 1, sb);
sb.Append(indent).AppendLine("}");
sb.AppendLine();
}
}
private static string CleanupWhitespace(string content)
{
var lines = content.Replace("\r\n", "\n").Split('\n');
var output = new StringBuilder();
string? previous = null;
for (var i = 0; i < lines.Length; i++)
{
var current = lines[i];
var trimmed = current.Trim();
var nextTrimmed = i + 1 < lines.Length ? lines[i + 1].Trim() : null;
if (string.IsNullOrEmpty(trimmed))
{
if (string.IsNullOrEmpty(previous))
{
continue;
}
if (previous == "{" || previous == "}" || nextTrimmed == "}" || string.IsNullOrEmpty(nextTrimmed))
{
continue;
}
}
output.AppendLine(current.TrimEnd());
previous = trimmed;
}
return output.ToString();
}
} }

View File

@@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("AmalgamationTool")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("AmalgamationTool")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("de540809-dd27-47b1-bb01-7dce3a880cde")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<Description>Dynamic Object-Relational Mapping tests library.</Description> <Description>Dynamic Object-Relational Mapping tests library.</Description>
<Copyright>Copyright © RUSSEK Software 2012-2026</Copyright> <Copyright>Copyright © RUSSEK Software 2012-2026</Copyright>
<Company>RUSSEK Software</Company> <Company>RUSSEK Software</Company>
@@ -26,10 +26,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.0"/> <PackageReference Include="coverlet.collector" Version="6.0.4"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0"/> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0"/>
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1"/> <PackageReference Include="NUnit" Version="3.14.0"/>
<PackageReference Include="MSTest.TestFramework" Version="3.1.1"/> <PackageReference Include="NUnit3TestAdapter" Version="4.6.0"/>
<PackageReference Include="System.Data.SQLite" Version="1.0.119" /> <PackageReference Include="System.Data.SQLite" Version="1.0.119" />
</ItemGroup> </ItemGroup>

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -28,16 +28,16 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Helpers namespace DynamORM.Tests.Helpers
{ {
/// <summary>Class responsible for users operations testing.</summary> /// <summary>Class responsible for sample_users operations testing.</summary>
[TestClass] [TestFixture]
public class AttachToDebugger public class AttachToDebugger
{ {
/// <summary>Test anonymous type compatibility.</summary> /// <summary>Test anonymous type compatibility.</summary>
[TestMethod] [Test]
public void TestAnonType() public void TestAnonType()
{ {
var a = new { x = 1, y = 2 }; var a = new { x = 1, y = 2 };
@@ -47,7 +47,7 @@ namespace DynamORM.Tests.Helpers
} }
/// <summary>Test anonymous type value.</summary> /// <summary>Test anonymous type value.</summary>
[TestMethod] [Test]
public void TestAnonTypeValue() public void TestAnonTypeValue()
{ {
var a = new { x = 1, y = "bla bla" }; var a = new { x = 1, y = "bla bla" };

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -28,18 +28,18 @@
using System; using System;
using DynamORM.Helpers.Dynamics; using DynamORM.Helpers.Dynamics;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Helpers.Dynamic namespace DynamORM.Tests.Helpers.Dynamic
{ {
/// <summary><see cref="DynamicParser"/> tests.</summary> /// <summary><see cref="DynamicParser"/> tests.</summary>
[TestClass] [TestFixture]
public class DynamicParserTests public class DynamicParserTests
{ {
/// <summary> /// <summary>
/// Tests the get member. /// Tests the get member.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestGetMember() public void TestGetMember()
{ {
Func<dynamic, object> f = x => x.SomePropery; Func<dynamic, object> f = x => x.SomePropery;
@@ -53,7 +53,7 @@ namespace DynamORM.Tests.Helpers.Dynamic
/// <summary> /// <summary>
/// Tests the set member. /// Tests the set member.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSetMember() public void TestSetMember()
{ {
Func<dynamic, object> f = x => x.SomePropery = "value"; Func<dynamic, object> f = x => x.SomePropery = "value";
@@ -68,7 +68,7 @@ namespace DynamORM.Tests.Helpers.Dynamic
/// <summary> /// <summary>
/// Tests the index of the get. /// Tests the index of the get.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestGetIndex() public void TestGetIndex()
{ {
Func<dynamic, object> f = x => x.SomePropery[0]; Func<dynamic, object> f = x => x.SomePropery[0];
@@ -81,7 +81,7 @@ namespace DynamORM.Tests.Helpers.Dynamic
/// <summary> /// <summary>
/// Tests the index of the set. /// Tests the index of the set.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSetIndex() public void TestSetIndex()
{ {
Func<dynamic, object> f = x => x.SomePropery[0] = "value"; Func<dynamic, object> f = x => x.SomePropery[0] = "value";
@@ -95,7 +95,7 @@ namespace DynamORM.Tests.Helpers.Dynamic
/// <summary> /// <summary>
/// Tests something. /// Tests something.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSomething() public void TestSomething()
{ {
Func<dynamic, object> f = x => x.SomePropery == "value" || x.OtherProperty == -1; Func<dynamic, object> f = x => x.SomePropery == "value" || x.OtherProperty == -1;
@@ -111,8 +111,8 @@ namespace DynamORM.Tests.Helpers.Dynamic
Assert.IsNotNull(left); Assert.IsNotNull(left);
Assert.IsNotNull(right); Assert.IsNotNull(right);
Assert.IsInstanceOfType(left.Host, typeof(DynamicParser.Node.GetMember)); Assert.IsInstanceOf<DynamicParser.Node.GetMember>(left.Host);
Assert.IsInstanceOfType(right.Host, typeof(DynamicParser.Node.GetMember)); Assert.IsInstanceOf<DynamicParser.Node.GetMember>(right.Host);
Assert.AreEqual("value", left.Right); Assert.AreEqual("value", left.Right);
Assert.AreEqual(-1, right.Right); Assert.AreEqual(-1, right.Right);

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -26,23 +26,23 @@
* THE POSSIBILITY OF SUCH DAMAGE. * THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Helpers namespace DynamORM.Tests.Helpers
{ {
/// <summary>Pooling tests.</summary> /// <summary>Pooling tests.</summary>
[TestClass] [TestFixture]
public class PoolingTests : TestsBase public class PoolingTests : TestsBase
{ {
/// <summary>Setup test parameters.</summary> /// <summary>Setup test parameters.</summary>
[TestInitialize] [SetUp]
public virtual void SetUp() public virtual void SetUp()
{ {
CreateTestDatabase(); CreateTestDatabase();
} }
/// <summary>Tear down test objects.</summary> /// <summary>Tear down test objects.</summary>
[TestCleanup] [TearDown]
public virtual void TearDown() public virtual void TearDown()
{ {
DestroyDynamicDatabase(); DestroyDynamicDatabase();
@@ -50,7 +50,7 @@ namespace DynamORM.Tests.Helpers
} }
/// <summary>Test single mode command disposing.</summary> /// <summary>Test single mode command disposing.</summary>
[TestMethod] [Test]
public void TestSingleModeCommand() public void TestSingleModeCommand()
{ {
CreateDynamicDatabase(); CreateDynamicDatabase();
@@ -62,11 +62,11 @@ namespace DynamORM.Tests.Helpers
Database.Dispose(); Database.Dispose();
Database = null; Database = null;
Assert.ThrowsException<DynamicQueryException>(() => cmd.ExecuteScalar()); Assert.Throws<DynamicQueryException>(() => cmd.ExecuteScalar());
} }
/// <summary>Test single mode transaction disposing.</summary> /// <summary>Test single mode transaction disposing.</summary>
[TestMethod] [Test]
public void TestSingleModeTransaction() public void TestSingleModeTransaction()
{ {
try try
@@ -77,7 +77,7 @@ namespace DynamORM.Tests.Helpers
using (var trans = conn.BeginTransaction()) using (var trans = conn.BeginTransaction())
using (var cmd = conn.CreateCommand()) using (var cmd = conn.CreateCommand())
{ {
Assert.AreEqual(1, cmd.SetCommand("INSERT INTO \"users\" (\"code\") VALUES ('999');").ExecuteNonQuery()); Assert.AreEqual(1, cmd.SetCommand("INSERT INTO \"sample_users\" (\"code\") VALUES ('999');").ExecuteNonQuery());
Database.Dispose(); Database.Dispose();
Database = null; Database = null;
@@ -87,7 +87,7 @@ namespace DynamORM.Tests.Helpers
// Verify (rollback) // Verify (rollback)
CreateDynamicDatabase(); CreateDynamicDatabase();
Assert.AreEqual(0, Database.Table("users").Count(columns: "id", code: "999")); Assert.AreEqual(0, Database.Table("sample_users").Count(columns: "id", code: "999"));
} }
finally finally
{ {

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -31,7 +31,7 @@ using DynamORM.Mapper;
namespace DynamORM.Tests.Helpers namespace DynamORM.Tests.Helpers
{ {
/// <summary>Users table representation.</summary> /// <summary>Users table representation.</summary>
[Table(Name = "users", Override = true)] [Table(Name = "sample_users", Override = true)]
public class Users public class Users
{ {
/// <summary>Gets or sets id column value.</summary> /// <summary>Gets or sets id column value.</summary>

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -33,7 +33,7 @@ namespace DynamORM.Tests.Helpers
{ {
/// <summary>Users table representation.</summary> /// <summary>Users table representation.</summary>
[SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1300:ElementMustBeginWithUpperCaseLetter", Justification = "Bare bone table mapping.")] [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1300:ElementMustBeginWithUpperCaseLetter", Justification = "Bare bone table mapping.")]
public class users public class sample_users
{ {
/// <summary>Gets or sets id column value.</summary> /// <summary>Gets or sets id column value.</summary>
[Column("id", true)] [Column("id", true)]

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -28,11 +28,11 @@
using DynamORM.Mapper; using DynamORM.Mapper;
using DynamORM.Validation; using DynamORM.Validation;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Helpers.Validation namespace DynamORM.Tests.Helpers.Validation
{ {
[TestClass] [TestFixture]
public class ObjectValidationTest public class ObjectValidationTest
{ {
public class TestObject public class TestObject
@@ -48,7 +48,7 @@ namespace DynamORM.Tests.Helpers.Validation
public decimal[] ArrayTest { get; set; } public decimal[] ArrayTest { get; set; }
} }
[TestMethod] [Test]
public void ValidateCorrectObject() public void ValidateCorrectObject()
{ {
var result = DynamicMapperCache.GetMapper<TestObject>().ValidateObject( var result = DynamicMapperCache.GetMapper<TestObject>().ValidateObject(
@@ -62,7 +62,7 @@ namespace DynamORM.Tests.Helpers.Validation
Assert.AreEqual(0, result.Count); Assert.AreEqual(0, result.Count);
} }
[TestMethod] [Test]
public void ValidateIncorrectObject() public void ValidateIncorrectObject()
{ {
var result = DynamicMapperCache.GetMapper<TestObject>().ValidateObject( var result = DynamicMapperCache.GetMapper<TestObject>().ValidateObject(

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -28,16 +28,16 @@
using System; using System;
using DynamORM.Tests.Helpers; using DynamORM.Tests.Helpers;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Modify namespace DynamORM.Tests.Modify
{ {
/// <summary>Test standard dynamic access ORM.</summary> /// <summary>Test standard dynamic access ORM.</summary>
[TestClass] [TestFixture]
public class DynamicModificationTests : TestsBase public class DynamicModificationTests : TestsBase
{ {
/// <summary>Setup test parameters.</summary> /// <summary>Setup test parameters.</summary>
[TestInitialize] [SetUp]
public virtual void SetUp() public virtual void SetUp()
{ {
CreateTestDatabase(); CreateTestDatabase();
@@ -45,7 +45,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Tear down test objects.</summary> /// <summary>Tear down test objects.</summary>
[TestCleanup] [TearDown]
public virtual void TearDown() public virtual void TearDown()
{ {
DestroyDynamicDatabase(); DestroyDynamicDatabase();
@@ -56,13 +56,13 @@ namespace DynamORM.Tests.Modify
/// <returns>Dynamic table.</returns> /// <returns>Dynamic table.</returns>
public virtual dynamic GetTestTable() public virtual dynamic GetTestTable()
{ {
return Database.Table("users"); return Database.Table("sample_users");
} }
#region Insert #region Insert
/// <summary>Test row insertion by dynamic arguments.</summary> /// <summary>Test row insertion by dynamic arguments.</summary>
[TestMethod] [Test]
public void TestInsertByArguments() public void TestInsertByArguments()
{ {
Assert.AreEqual(1, GetTestTable().Insert(code: "201", first: null, last: "Gagarin", email: "juri.gagarin@megacorp.com", quote: "bla, bla, bla")); Assert.AreEqual(1, GetTestTable().Insert(code: "201", first: null, last: "Gagarin", email: "juri.gagarin@megacorp.com", quote: "bla, bla, bla"));
@@ -79,7 +79,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row insertion by dynamic object.</summary> /// <summary>Test row insertion by dynamic object.</summary>
[TestMethod] [Test]
public void TestInsertByDynamicObjects() public void TestInsertByDynamicObjects()
{ {
Assert.AreEqual(1, GetTestTable().Insert(values: new { code = "202", first = DBNull.Value, last = "Gagarin", email = "juri.gagarin@megacorp.com", quote = "bla, bla, bla" })); Assert.AreEqual(1, GetTestTable().Insert(values: new { code = "202", first = DBNull.Value, last = "Gagarin", email = "juri.gagarin@megacorp.com", quote = "bla, bla, bla" }));
@@ -96,7 +96,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row insertion by mapped object.</summary> /// <summary>Test row insertion by mapped object.</summary>
[TestMethod] [Test]
public void TestInsertByMappedObject() public void TestInsertByMappedObject()
{ {
var u = GetTestTable(); var u = GetTestTable();
@@ -123,12 +123,12 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row insertion by basic object.</summary> /// <summary>Test row insertion by basic object.</summary>
[TestMethod] [Test]
public void TestInsertByBasicObject() public void TestInsertByBasicObject()
{ {
var u = GetTestTable(); var u = GetTestTable();
Assert.AreEqual(1, u.Insert(values: new users Assert.AreEqual(1, u.Insert(values: new sample_users
{ {
id = u.Max(columns: "id") + 1, id = u.Max(columns: "id") + 1,
code = "204", code = "204",
@@ -154,7 +154,7 @@ namespace DynamORM.Tests.Modify
#region Update #region Update
/// <summary>Test row updating by dynamic arguments.</summary> /// <summary>Test row updating by dynamic arguments.</summary>
[TestMethod] [Test]
public void TestUpdateByArguments() public void TestUpdateByArguments()
{ {
Assert.AreEqual(1, GetTestTable().Update(id: 1, code: "201", first: null, last: "Gagarin", email: "juri.gagarin@megacorp.com", quote: "bla, bla, bla")); Assert.AreEqual(1, GetTestTable().Update(id: 1, code: "201", first: null, last: "Gagarin", email: "juri.gagarin@megacorp.com", quote: "bla, bla, bla"));
@@ -171,7 +171,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row updating by dynamic objects.</summary> /// <summary>Test row updating by dynamic objects.</summary>
[TestMethod] [Test]
public void TestUpdateByDynamicObject() public void TestUpdateByDynamicObject()
{ {
Assert.AreEqual(1, GetTestTable().Update(update: new { id = 2, code = "202", first = DBNull.Value, last = "Gagarin", email = "juri.gagarin@megacorp.com", quote = "bla, bla, bla" })); Assert.AreEqual(1, GetTestTable().Update(update: new { id = 2, code = "202", first = DBNull.Value, last = "Gagarin", email = "juri.gagarin@megacorp.com", quote = "bla, bla, bla" }));
@@ -188,7 +188,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row updating by mapped object.</summary> /// <summary>Test row updating by mapped object.</summary>
[TestMethod] [Test]
public void TestUpdateByMappedObject() public void TestUpdateByMappedObject()
{ {
var u = GetTestTable(); var u = GetTestTable();
@@ -215,12 +215,12 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row updating by basic object.</summary> /// <summary>Test row updating by basic object.</summary>
[TestMethod] [Test]
public void TestUpdateByBasicObject() public void TestUpdateByBasicObject()
{ {
var u = GetTestTable(); var u = GetTestTable();
Assert.AreEqual(1, u.Update(update: new users Assert.AreEqual(1, u.Update(update: new sample_users
{ {
id = 4, id = 4,
code = "204", code = "204",
@@ -242,7 +242,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row updating by dynamic objects.</summary> /// <summary>Test row updating by dynamic objects.</summary>
[TestMethod] [Test]
public void TestUpdateByDynamicObjects() public void TestUpdateByDynamicObjects()
{ {
Assert.AreEqual(1, GetTestTable().Update(values: new { code = "205", first = DBNull.Value, last = "Gagarin", email = "juri.gagarin@megacorp.com", quote = "bla, bla, bla" }, where: new { id = 5 })); Assert.AreEqual(1, GetTestTable().Update(values: new { code = "205", first = DBNull.Value, last = "Gagarin", email = "juri.gagarin@megacorp.com", quote = "bla, bla, bla" }, where: new { id = 5 }));
@@ -259,7 +259,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row updating by mapped objects.</summary> /// <summary>Test row updating by mapped objects.</summary>
[TestMethod] [Test]
public void TestUpdateByMappedObjects() public void TestUpdateByMappedObjects()
{ {
var u = GetTestTable(); var u = GetTestTable();
@@ -286,12 +286,12 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row updating by basic objects.</summary> /// <summary>Test row updating by basic objects.</summary>
[TestMethod] [Test]
public void TestUpdateByBasicObjects() public void TestUpdateByBasicObjects()
{ {
var u = GetTestTable(); var u = GetTestTable();
Assert.AreEqual(1, u.Update(values: new users Assert.AreEqual(1, u.Update(values: new sample_users
{ {
id = 7, id = 7,
code = "207", code = "207",
@@ -317,7 +317,7 @@ namespace DynamORM.Tests.Modify
#region Delete #region Delete
/// <summary>Test row deleting by dynamic arguments.</summary> /// <summary>Test row deleting by dynamic arguments.</summary>
[TestMethod] [Test]
public void TestDeleteByArguments() public void TestDeleteByArguments()
{ {
Assert.AreEqual(1, GetTestTable().Delete(code: "10")); Assert.AreEqual(1, GetTestTable().Delete(code: "10"));
@@ -327,7 +327,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row deleting by dynamic objects (all except ID should be ignored).</summary> /// <summary>Test row deleting by dynamic objects (all except ID should be ignored).</summary>
[TestMethod] [Test]
public void TestDeleteyDynamicObject() public void TestDeleteyDynamicObject()
{ {
Assert.AreEqual(1, GetTestTable().Delete(delete: new { id = 11, code = 11, first = "Juri", last = "Gagarin", email = "juri.gagarin@megacorp.com", quote = "bla, bla, bla" })); Assert.AreEqual(1, GetTestTable().Delete(delete: new { id = 11, code = 11, first = "Juri", last = "Gagarin", email = "juri.gagarin@megacorp.com", quote = "bla, bla, bla" }));
@@ -337,7 +337,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row deleting by mapped object.</summary> /// <summary>Test row deleting by mapped object.</summary>
[TestMethod] [Test]
public void TestDeleteByMappedObject() public void TestDeleteByMappedObject()
{ {
var u = GetTestTable(); var u = GetTestTable();
@@ -357,12 +357,12 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row deleting by basic object.</summary> /// <summary>Test row deleting by basic object.</summary>
[TestMethod] [Test]
public void TestDeleteByBasicObject() public void TestDeleteByBasicObject()
{ {
var u = GetTestTable(); var u = GetTestTable();
Assert.AreEqual(1, u.Delete(delete: new users Assert.AreEqual(1, u.Delete(delete: new sample_users
{ {
id = 13, id = 13,
code = "13", code = "13",
@@ -377,7 +377,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Test row deleting by dynamic objects (all except ID should be ignored).</summary> /// <summary>Test row deleting by dynamic objects (all except ID should be ignored).</summary>
[TestMethod] [Test]
public void TestDeleteyDynamicObjectWhere() public void TestDeleteyDynamicObjectWhere()
{ {
Assert.AreEqual(1, GetTestTable().Delete(where: new { id = 14, code = "14" })); Assert.AreEqual(1, GetTestTable().Delete(where: new { id = 14, code = "14" }));

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -26,17 +26,17 @@
* THE POSSIBILITY OF SUCH DAMAGE. * THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Modify namespace DynamORM.Tests.Modify
{ {
/// <summary>Test standard dynamic access ORM. With out schema information from database.</summary> /// <summary>Test standard dynamic access ORM. With out schema information from database.</summary>
[TestClass] [TestFixture]
public class DynamicNoSchemaModificationTests : DynamicModificationTests public class DynamicNoSchemaModificationTests : DynamicModificationTests
{ {
/// <summary>Setup test parameters.</summary> /// <summary>Setup test parameters.</summary>
[TestInitialize] [SetUp]
public virtual void SetUp() public override void SetUp()
{ {
CreateTestDatabase(); CreateTestDatabase();
CreateDynamicDatabase( CreateDynamicDatabase(
@@ -49,7 +49,7 @@ namespace DynamORM.Tests.Modify
/// <returns>Dynamic table.</returns> /// <returns>Dynamic table.</returns>
public override dynamic GetTestTable() public override dynamic GetTestTable()
{ {
return Database.Table("users", new string[] { "id" }); return Database.Table("sample_users", new string[] { "id" });
} }
} }
} }

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -28,42 +28,42 @@
using System.Collections.Generic; using System.Collections.Generic;
using DynamORM.Tests.Helpers; using DynamORM.Tests.Helpers;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Modify namespace DynamORM.Tests.Modify
{ {
/// <summary>Test standard dynamic access ORM. With out schema information from database.</summary> /// <summary>Test standard dynamic access ORM. With out schema information from database.</summary>
[TestClass] [TestFixture]
public class DynamicTypeSchemaModificationTests : DynamicModificationTests public class DynamicTypeSchemaModificationTests : DynamicModificationTests
{ {
/// <summary>Create table using specified method.</summary> /// <summary>Create table using specified method.</summary>
/// <returns>Dynamic table.</returns> /// <returns>Dynamic table.</returns>
public override dynamic GetTestTable() public override dynamic GetTestTable()
{ {
return Database.Table<users>(); return Database.Table<sample_users>();
} }
/// <summary> /// <summary>
/// Tests the bulk insert. /// Tests the bulk insert.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestBulkInsert() public void TestBulkInsert()
{ {
Assert.AreEqual(2, Database.Insert<users>(new List<users> Assert.AreEqual(2, Database.Insert<sample_users>(new List<sample_users>
{ {
new users new sample_users
{ {
id = 1001, id = 1001,
login = "a", login = "a",
}, },
new users new sample_users
{ {
id = 1002, id = 1002,
login = "b", login = "b",
} }
})); }));
Assert.AreEqual(2, Database.Delete<users>().Where(u => u.users.id.In(1001, 1002)).Execute()); Assert.AreEqual(2, Database.Delete<sample_users>().Where(u => u.sample_users.id.In(1001, 1002)).Execute());
} }
} }
} }

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -29,7 +29,7 @@
using System.Linq; using System.Linq;
using DynamORM.Builders; using DynamORM.Builders;
using DynamORM.Builders.Implementation; using DynamORM.Builders.Implementation;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
using DynamORM.Tests.Helpers; using DynamORM.Tests.Helpers;
using System.Collections.Generic; using System.Collections.Generic;
using static System.Data.Entity.Infrastructure.Design.Executor; using static System.Data.Entity.Infrastructure.Design.Executor;
@@ -38,11 +38,11 @@ using System.Runtime.InteropServices;
namespace DynamORM.Tests.Modify namespace DynamORM.Tests.Modify
{ {
/// <summary>New parser tests.</summary> /// <summary>New parser tests.</summary>
[TestClass] [TestFixture]
public class ParserTests : TestsBase public class ParserTests : TestsBase
{ {
/// <summary>Setup test parameters.</summary> /// <summary>Setup test parameters.</summary>
[TestInitialize] [SetUp]
public virtual void SetUp() public virtual void SetUp()
{ {
CreateTestDatabase(); CreateTestDatabase();
@@ -53,7 +53,7 @@ namespace DynamORM.Tests.Modify
} }
/// <summary>Tear down test objects.</summary> /// <summary>Tear down test objects.</summary>
[TestCleanup] [TearDown]
public virtual void TearDown() public virtual void TearDown()
{ {
DestroyDynamicDatabase(); DestroyDynamicDatabase();
@@ -65,7 +65,7 @@ namespace DynamORM.Tests.Modify
/// <summary> /// <summary>
/// Tests the basic insert. /// Tests the basic insert.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInsertBasic() public void TestInsertBasic()
{ {
IDynamicInsertQueryBuilder cmd = new DynamicInsertQueryBuilder(Database, "Users"); IDynamicInsertQueryBuilder cmd = new DynamicInsertQueryBuilder(Database, "Users");
@@ -79,7 +79,7 @@ namespace DynamORM.Tests.Modify
/// <summary> /// <summary>
/// Tests the insert with sub query. /// Tests the insert with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInsertSubQuery() public void TestInsertSubQuery()
{ {
IDynamicInsertQueryBuilder cmd = new DynamicInsertQueryBuilder(Database, "Users"); IDynamicInsertQueryBuilder cmd = new DynamicInsertQueryBuilder(Database, "Users");
@@ -96,7 +96,7 @@ namespace DynamORM.Tests.Modify
/// <summary> /// <summary>
/// Tests the basic insert using object. /// Tests the basic insert using object.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInsertBasicObject() public void TestInsertBasicObject()
{ {
IDynamicInsertQueryBuilder cmd = new DynamicInsertQueryBuilder(Database, "Users"); IDynamicInsertQueryBuilder cmd = new DynamicInsertQueryBuilder(Database, "Users");
@@ -110,7 +110,7 @@ namespace DynamORM.Tests.Modify
/// <summary> /// <summary>
/// Tests the insert using object with sub query. /// Tests the insert using object with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInsertSubQueryObject() public void TestInsertSubQueryObject()
{ {
IDynamicInsertQueryBuilder cmd = new DynamicInsertQueryBuilder(Database, "Users"); IDynamicInsertQueryBuilder cmd = new DynamicInsertQueryBuilder(Database, "Users");
@@ -136,7 +136,7 @@ namespace DynamORM.Tests.Modify
/// <summary> /// <summary>
/// Tests the basic update. /// Tests the basic update.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestUpdateBasicSet() public void TestUpdateBasicSet()
{ {
IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users"); IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users");
@@ -151,7 +151,7 @@ namespace DynamORM.Tests.Modify
/// <summary> /// <summary>
/// Tests the basic update. /// Tests the basic update.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestUpdateBasicValues() public void TestUpdateBasicValues()
{ {
IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users"); IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users");
@@ -169,7 +169,7 @@ namespace DynamORM.Tests.Modify
/// <summary> /// <summary>
/// Tests the insert with sub query. /// Tests the insert with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestUpdateSubQuery() public void TestUpdateSubQuery()
{ {
IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users"); IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users");
@@ -186,7 +186,7 @@ namespace DynamORM.Tests.Modify
/// <summary> /// <summary>
/// Tests the basic insert using object. /// Tests the basic insert using object.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestUpdateBasicObject() public void TestUpdateBasicObject()
{ {
IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users"); IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users");
@@ -201,7 +201,7 @@ namespace DynamORM.Tests.Modify
/// <summary> /// <summary>
/// Tests the basic insert using object. /// Tests the basic insert using object.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestUpdateSubQueryObject() public void TestUpdateSubQueryObject()
{ {
IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users"); IDynamicUpdateQueryBuilder cmd = new DynamicUpdateQueryBuilder(Database, "Users");

View File

@@ -1,4 +1,4 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:4.0.30319.42000 // Runtime Version:4.0.30319.42000
@@ -61,10 +61,10 @@ namespace DynamORM.Tests.Properties {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to CREATE TABLE users (id INTEGER NOT NULL PRIMARY KEY, code, login text, first text, last text, password text, email text, quote text); /// Looks up a localized string similar to CREATE TABLE sample_users (id INTEGER NOT NULL PRIMARY KEY, code, login text, first text, last text, password text, email text, quote text);
///INSERT INTO users (code,first,last,email,quote) VALUES (&apos;1&apos;,&apos;Clarke&apos;,&apos;Jarvis&apos;,&apos;eu.accumsan@nonarcuVivamus.org&apos;,&apos;non leo. Vivamus&apos;); ///INSERT INTO sample_users (code,first,last,email,quote) VALUES (&apos;1&apos;,&apos;Clarke&apos;,&apos;Jarvis&apos;,&apos;eu.accumsan@nonarcuVivamus.org&apos;,&apos;non leo. Vivamus&apos;);
///INSERT INTO users (code,first,last,email,quote) VALUES (&apos;2&apos;,&apos;Marny&apos;,&apos;Fry&apos;,&apos;Cras.convallis.convallis@nisiCumsociis.ca&apos;,&apos;aliquam eu, accumsan sed, facilisis vitae, orci. Phasellus&apos;); ///INSERT INTO sample_users (code,first,last,email,quote) VALUES (&apos;2&apos;,&apos;Marny&apos;,&apos;Fry&apos;,&apos;Cras.convallis.convallis@nisiCumsociis.ca&apos;,&apos;aliquam eu, accumsan sed, facilisis vitae, orci. Phasellus&apos;);
///INSERT INTO users (code,first,last,email,quote) VALUES (&apos;3&apos;,&apos; [rest of string was truncated]&quot;;. ///INSERT INTO sample_users (code,first,last,email,quote) VALUES (&apos;3&apos;,&apos; [rest of string was truncated]&quot;;.
/// </summary> /// </summary>
internal static string UsersTable { internal static string UsersTable {
get { get {

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
@@ -118,207 +118,207 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="UsersTable" xml:space="preserve"> <data name="UsersTable" xml:space="preserve">
<value>CREATE TABLE users (id INTEGER NOT NULL PRIMARY KEY, code, login text, first text, last text, password text, email text, quote text); <value>CREATE TABLE sample_users (id INTEGER NOT NULL PRIMARY KEY, code, login text, first text, last text, password text, email text, quote text);
INSERT INTO users (code,first,last,email,quote) VALUES ('1','Clarke','Jarvis','eu.accumsan@nonarcuVivamus.org','non leo. Vivamus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('1','Clarke','Jarvis','eu.accumsan@nonarcuVivamus.org','non leo. Vivamus');
INSERT INTO users (code,first,last,email,quote) VALUES ('2','Marny','Fry','Cras.convallis.convallis@nisiCumsociis.ca','aliquam eu, accumsan sed, facilisis vitae, orci. Phasellus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('2','Marny','Fry','Cras.convallis.convallis@nisiCumsociis.ca','aliquam eu, accumsan sed, facilisis vitae, orci. Phasellus');
INSERT INTO users (code,first,last,email,quote) VALUES ('3','Dai','Marks','dictum.augue@venenatis.ca','nulla ante, iaculis nec, eleifend non, dapibus rutrum, justo. Praesent'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('3','Dai','Marks','dictum.augue@venenatis.ca','nulla ante, iaculis nec, eleifend non, dapibus rutrum, justo. Praesent');
INSERT INTO users (code,first,last,email,quote) VALUES ('4','Forrest','Hendricks','justo.sit.amet@odioa.edu','auctor. Mauris vel turpis. Aliquam adipiscing lobortis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('4','Forrest','Hendricks','justo.sit.amet@odioa.edu','auctor. Mauris vel turpis. Aliquam adipiscing lobortis');
INSERT INTO users (code,first,last,email,quote) VALUES ('5','Blossom','Dunlap','libero.mauris@Phasellusfermentumconvallis.ca','luctus sit amet, faucibus ut, nulla. Cras eu tellus eu'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('5','Blossom','Dunlap','libero.mauris@Phasellusfermentumconvallis.ca','luctus sit amet, faucibus ut, nulla. Cras eu tellus eu');
INSERT INTO users (code,first,last,email,quote) VALUES ('6','George','Rios','vitae@sodales.ca','elit. Aliquam auctor, velit eget laoreet'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('6','George','Rios','vitae@sodales.ca','elit. Aliquam auctor, velit eget laoreet');
INSERT INTO users (code,first,last,email,quote) VALUES ('7','Ivory','Henderson','elit.Aliquam.auctor@Nullamvelitdui.ca','Fusce diam nunc, ullamcorper'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('7','Ivory','Henderson','elit.Aliquam.auctor@Nullamvelitdui.ca','Fusce diam nunc, ullamcorper');
INSERT INTO users (code,first,last,email,quote) VALUES ('8','Inez','Goodwin','consectetuer.mauris@nibhPhasellus.edu','eu, placerat eget, venenatis a, magna.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('8','Inez','Goodwin','consectetuer.mauris@nibhPhasellus.edu','eu, placerat eget, venenatis a, magna.');
INSERT INTO users (code,first,last,email,quote) VALUES ('9','Sigourney','Gonzales','lectus.pede.ultrices@sagittislobortismauris.org','egestas hendrerit'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('9','Sigourney','Gonzales','lectus.pede.ultrices@sagittislobortismauris.org','egestas hendrerit');
INSERT INTO users (code,first,last,email,quote) VALUES ('10','Fulton','Terrell','penatibus@euaugue.com','Nulla interdum. Curabitur dictum.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('10','Fulton','Terrell','penatibus@euaugue.com','Nulla interdum. Curabitur dictum.');
INSERT INTO users (code,first,last,email,quote) VALUES ('11','Logan','Freeman','malesuada.malesuada@nullaIntegervulputate.edu','dui, semper et, lacinia'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('11','Logan','Freeman','malesuada.malesuada@nullaIntegervulputate.edu','dui, semper et, lacinia');
INSERT INTO users (code,first,last,email,quote) VALUES ('12','Anne','Irwin','lorem.ut.aliquam@ligula.org','erat, in consectetuer ipsum nunc id enim.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('12','Anne','Irwin','lorem.ut.aliquam@ligula.org','erat, in consectetuer ipsum nunc id enim.');
INSERT INTO users (code,first,last,email,quote) VALUES ('13','Alexandra','Church','sit@sempererat.org','lorem, luctus ut, pellentesque eget, dictum placerat, augue. Sed'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('13','Alexandra','Church','sit@sempererat.org','lorem, luctus ut, pellentesque eget, dictum placerat, augue. Sed');
INSERT INTO users (code,first,last,email,quote) VALUES ('14','Adena','Branch','sit.amet@accumsanlaoreetipsum.org','natoque penatibus et'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('14','Adena','Branch','sit.amet@accumsanlaoreetipsum.org','natoque penatibus et');
INSERT INTO users (code,first,last,email,quote) VALUES ('15','Lionel','Hoover','ac@Donectempor.ca','at pede. Cras vulputate'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('15','Lionel','Hoover','ac@Donectempor.ca','at pede. Cras vulputate');
INSERT INTO users (code,first,last,email,quote) VALUES ('16','Aimee','Strickland','ornare.lectus@tinciduntduiaugue.ca','vitae odio sagittis semper. Nam'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('16','Aimee','Strickland','ornare.lectus@tinciduntduiaugue.ca','vitae odio sagittis semper. Nam');
INSERT INTO users (code,first,last,email,quote) VALUES ('17','Selma','Williamson','metus.In.nec@quamquisdiam.org','id nunc'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('17','Selma','Williamson','metus.In.nec@quamquisdiam.org','id nunc');
INSERT INTO users (code,first,last,email,quote) VALUES ('18','Lara','Trujillo','lacus@convallisest.edu','Integer sem elit, pharetra ut,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('18','Lara','Trujillo','lacus@convallisest.edu','Integer sem elit, pharetra ut,');
INSERT INTO users (code,first,last,email,quote) VALUES ('19','Ori','Ellis','egestas@at.ca','odio. Nam interdum'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('19','Ori','Ellis','egestas@at.ca','odio. Nam interdum');
INSERT INTO users (code,first,last,email,quote) VALUES ('20','Macey','Carey','sed.consequat@ametorciUt.org','magna'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('20','Macey','Carey','sed.consequat@ametorciUt.org','magna');
INSERT INTO users (code,first,last,email,quote) VALUES ('21','Quynn','Randall','Cras.dictum@malesuada.org','egestas. Fusce aliquet magna a neque.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('21','Quynn','Randall','Cras.dictum@malesuada.org','egestas. Fusce aliquet magna a neque.');
INSERT INTO users (code,first,last,email,quote) VALUES ('22','Alec','Robles','Fusce.feugiat@mollisdui.com','a'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('22','Alec','Robles','Fusce.feugiat@mollisdui.com','a');
INSERT INTO users (code,first,last,email,quote) VALUES ('23','Jakeem','Bell','ante@laoreetlectusquis.edu','eget massa. Suspendisse eleifend. Cras'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('23','Jakeem','Bell','ante@laoreetlectusquis.edu','eget massa. Suspendisse eleifend. Cras');
INSERT INTO users (code,first,last,email,quote) VALUES ('24','Katelyn','Cannon','sit.amet@PhasellusornareFusce.org','nisi dictum augue malesuada malesuada.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('24','Katelyn','Cannon','sit.amet@PhasellusornareFusce.org','nisi dictum augue malesuada malesuada.');
INSERT INTO users (code,first,last,email,quote) VALUES ('25','Christian','Alford','per@vulputate.ca','turpis.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('25','Christian','Alford','per@vulputate.ca','turpis.');
INSERT INTO users (code,first,last,email,quote) VALUES ('26','Leila','Forbes','nec.ante@idblanditat.ca','ac ipsum. Phasellus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('26','Leila','Forbes','nec.ante@idblanditat.ca','ac ipsum. Phasellus');
INSERT INTO users (code,first,last,email,quote) VALUES ('27','Hadley','Gillespie','Lorem.ipsum@Nullamvitaediam.com','vestibulum lorem, sit amet ultricies sem magna nec quam.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('27','Hadley','Gillespie','Lorem.ipsum@Nullamvitaediam.com','vestibulum lorem, sit amet ultricies sem magna nec quam.');
INSERT INTO users (code,first,last,email,quote) VALUES ('28','Julian','Keith','facilisis@loremvitaeodio.edu','nulla at sem molestie sodales. Mauris blandit enim consequat purus.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('28','Julian','Keith','facilisis@loremvitaeodio.edu','nulla at sem molestie sodales. Mauris blandit enim consequat purus.');
INSERT INTO users (code,first,last,email,quote) VALUES ('29','Allen','Ramos','neque@lobortis.ca','amet diam eu dolor egestas rhoncus. Proin nisl sem, consequat'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('29','Allen','Ramos','neque@lobortis.ca','amet diam eu dolor egestas rhoncus. Proin nisl sem, consequat');
INSERT INTO users (code,first,last,email,quote) VALUES ('30','Hermione','Walsh','dictum.magna@tincidunt.edu','scelerisque'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('30','Hermione','Walsh','dictum.magna@tincidunt.edu','scelerisque');
INSERT INTO users (code,first,last,email,quote) VALUES ('31','Xena','Graves','eu.dui@tinciduntaliquamarcu.ca','nunc interdum feugiat. Sed nec metus facilisis lorem tristique aliquet.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('31','Xena','Graves','eu.dui@tinciduntaliquamarcu.ca','nunc interdum feugiat. Sed nec metus facilisis lorem tristique aliquet.');
INSERT INTO users (code,first,last,email,quote) VALUES ('32','Tanisha','Blackburn','aliquam.eu.accumsan@dui.edu','fringilla mi lacinia mattis. Integer eu'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('32','Tanisha','Blackburn','aliquam.eu.accumsan@dui.edu','fringilla mi lacinia mattis. Integer eu');
INSERT INTO users (code,first,last,email,quote) VALUES ('33','Norman','Hobbs','eu.euismod.ac@tinciduntDonecvitae.com','pulvinar arcu et pede. Nunc'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('33','Norman','Hobbs','eu.euismod.ac@tinciduntDonecvitae.com','pulvinar arcu et pede. Nunc');
INSERT INTO users (code,first,last,email,quote) VALUES ('34','Guy','Molina','non@rutrumurna.org','Vivamus euismod urna.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('34','Guy','Molina','non@rutrumurna.org','Vivamus euismod urna.');
INSERT INTO users (code,first,last,email,quote) VALUES ('35','Rama','Albert','nunc@laciniavitaesodales.com','eu augue porttitor interdum. Sed auctor odio a purus. Duis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('35','Rama','Albert','nunc@laciniavitaesodales.com','eu augue porttitor interdum. Sed auctor odio a purus. Duis');
INSERT INTO users (code,first,last,email,quote) VALUES ('36','Owen','Combs','Nullam.enim.Sed@magnaPhasellusdolor.com','mollis vitae, posuere at, velit. Cras lorem lorem, luctus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('36','Owen','Combs','Nullam.enim.Sed@magnaPhasellusdolor.com','mollis vitae, posuere at, velit. Cras lorem lorem, luctus');
INSERT INTO users (code,first,last,email,quote) VALUES ('37','Ashely','Graham','eget.odio@enimsitamet.com','commodo at, libero. Morbi accumsan laoreet ipsum. Curabitur consequat,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('37','Ashely','Graham','eget.odio@enimsitamet.com','commodo at, libero. Morbi accumsan laoreet ipsum. Curabitur consequat,');
INSERT INTO users (code,first,last,email,quote) VALUES ('38','Paul','Levy','nec@leo.com','augue scelerisque mollis. Phasellus libero mauris, aliquam eu, accumsan'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('38','Paul','Levy','nec@leo.com','augue scelerisque mollis. Phasellus libero mauris, aliquam eu, accumsan');
INSERT INTO users (code,first,last,email,quote) VALUES ('39','Octavia','Calderon','eu@maurissitamet.edu','est, mollis non, cursus non,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('39','Octavia','Calderon','eu@maurissitamet.edu','est, mollis non, cursus non,');
INSERT INTO users (code,first,last,email,quote) VALUES ('40','Lenore','Pugh','eu.metus.In@Cumsociisnatoque.com','scelerisque mollis. Phasellus libero mauris, aliquam eu, accumsan sed, facilisis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('40','Lenore','Pugh','eu.metus.In@Cumsociisnatoque.com','scelerisque mollis. Phasellus libero mauris, aliquam eu, accumsan sed, facilisis');
INSERT INTO users (code,first,last,email,quote) VALUES ('41','Regan','Clemons','eu.neque.pellentesque@Integerinmagna.ca','Curae;'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('41','Regan','Clemons','eu.neque.pellentesque@Integerinmagna.ca','Curae;');
INSERT INTO users (code,first,last,email,quote) VALUES ('42','Zachary','Haynes','eu.erat@ipsum.edu','quis lectus. Nullam'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('42','Zachary','Haynes','eu.erat@ipsum.edu','quis lectus. Nullam');
INSERT INTO users (code,first,last,email,quote) VALUES ('43','Dane','Hyde','rhoncus@auctor.com','magna et ipsum cursus vestibulum. Mauris magna. Duis dignissim'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('43','Dane','Hyde','rhoncus@auctor.com','magna et ipsum cursus vestibulum. Mauris magna. Duis dignissim');
INSERT INTO users (code,first,last,email,quote) VALUES ('44','Mara','Hansen','Nunc.commodo@ultricies.org','magna. Ut tincidunt orci quis lectus. Nullam suscipit, est'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('44','Mara','Hansen','Nunc.commodo@ultricies.org','magna. Ut tincidunt orci quis lectus. Nullam suscipit, est');
INSERT INTO users (code,first,last,email,quote) VALUES ('45','Zelda','Parrish','turpis.In@rutrummagnaCras.com','Suspendisse aliquet, sem ut cursus luctus, ipsum leo'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('45','Zelda','Parrish','turpis.In@rutrummagnaCras.com','Suspendisse aliquet, sem ut cursus luctus, ipsum leo');
INSERT INTO users (code,first,last,email,quote) VALUES ('46','Amaya','Richmond','lacinia.at@in.org','ac, fermentum vel, mauris.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('46','Amaya','Richmond','lacinia.at@in.org','ac, fermentum vel, mauris.');
INSERT INTO users (code,first,last,email,quote) VALUES ('47','Hedda','Murray','ac.fermentum.vel@ipsum.com','tincidunt, neque vitae semper egestas, urna justo faucibus lectus, a'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('47','Hedda','Murray','ac.fermentum.vel@ipsum.com','tincidunt, neque vitae semper egestas, urna justo faucibus lectus, a');
INSERT INTO users (code,first,last,email,quote) VALUES ('48','Brendan','Macdonald','dignissim@leoMorbi.com','vestibulum lorem, sit'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('48','Brendan','Macdonald','dignissim@leoMorbi.com','vestibulum lorem, sit');
INSERT INTO users (code,first,last,email,quote) VALUES ('49','Gray','Mccall','risus.Donec@atsem.ca','libero est, congue'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('49','Gray','Mccall','risus.Donec@atsem.ca','libero est, congue');
INSERT INTO users (code,first,last,email,quote) VALUES ('50','Shoshana','Tran','nunc.In@aliquet.org','magna sed dui.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('50','Shoshana','Tran','nunc.In@aliquet.org','magna sed dui.');
INSERT INTO users (code,first,last,email,quote) VALUES ('51','Sylvester','Parks','Mauris.molestie@ipsumdolorsit.org','nec, eleifend non, dapibus rutrum, justo.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('51','Sylvester','Parks','Mauris.molestie@ipsumdolorsit.org','nec, eleifend non, dapibus rutrum, justo.');
INSERT INTO users (code,first,last,email,quote) VALUES ('52','Kennan','Stokes','nonummy.ut.molestie@varius.org','Ut nec urna et arcu imperdiet ullamcorper. Duis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('52','Kennan','Stokes','nonummy.ut.molestie@varius.org','Ut nec urna et arcu imperdiet ullamcorper. Duis');
INSERT INTO users (code,first,last,email,quote) VALUES ('53','Quin','Park','porttitor@vulputateeu.com','scelerisque, lorem ipsum sodales'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('53','Quin','Park','porttitor@vulputateeu.com','scelerisque, lorem ipsum sodales');
INSERT INTO users (code,first,last,email,quote) VALUES ('54','Madison','Bailey','nec.orci.Donec@vestibulumnequesed.org','augue. Sed'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('54','Madison','Bailey','nec.orci.Donec@vestibulumnequesed.org','augue. Sed');
INSERT INTO users (code,first,last,email,quote) VALUES ('55','Kenyon','Reilly','ultrices.iaculis.odio@sit.ca','enim. Curabitur massa. Vestibulum accumsan neque'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('55','Kenyon','Reilly','ultrices.iaculis.odio@sit.ca','enim. Curabitur massa. Vestibulum accumsan neque');
INSERT INTO users (code,first,last,email,quote) VALUES ('56','Drew','Brooks','molestie.orci@aliquetdiamSed.org','at risus. Nunc ac sem ut dolor dapibus gravida.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('56','Drew','Brooks','molestie.orci@aliquetdiamSed.org','at risus. Nunc ac sem ut dolor dapibus gravida.');
INSERT INTO users (code,first,last,email,quote) VALUES ('57','Omar','Dunn','vel@Donecsollicitudinadipiscing.ca','ultrices posuere cubilia Curae; Phasellus ornare. Fusce mollis. Duis sit'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('57','Omar','Dunn','vel@Donecsollicitudinadipiscing.ca','ultrices posuere cubilia Curae; Phasellus ornare. Fusce mollis. Duis sit');
INSERT INTO users (code,first,last,email,quote) VALUES ('58','Glenna','Lambert','Proin.non@Phasellus.com','neque. In'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('58','Glenna','Lambert','Proin.non@Phasellus.com','neque. In');
INSERT INTO users (code,first,last,email,quote) VALUES ('59','Aspen','Bailey','in.dolor.Fusce@ipsum.org','a, arcu. Sed et libero. Proin'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('59','Aspen','Bailey','in.dolor.Fusce@ipsum.org','a, arcu. Sed et libero. Proin');
INSERT INTO users (code,first,last,email,quote) VALUES ('60','Adele','Carlson','velit.justo.nec@vehicularisusNulla.edu','risus.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('60','Adele','Carlson','velit.justo.nec@vehicularisusNulla.edu','risus.');
INSERT INTO users (code,first,last,email,quote) VALUES ('61','Kerry','Zimmerman','luctus.aliquet.odio@urnajusto.edu','purus. Duis elementum, dui quis accumsan convallis, ante lectus convallis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('61','Kerry','Zimmerman','luctus.aliquet.odio@urnajusto.edu','purus. Duis elementum, dui quis accumsan convallis, ante lectus convallis');
INSERT INTO users (code,first,last,email,quote) VALUES ('62','Hedda','Guthrie','vulputate.risus@Phaselluselit.ca','ac mattis velit justo nec'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('62','Hedda','Guthrie','vulputate.risus@Phaselluselit.ca','ac mattis velit justo nec');
INSERT INTO users (code,first,last,email,quote) VALUES ('63','Wyoming','Blackburn','nec.ante@lorem.org','ultricies'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('63','Wyoming','Blackburn','nec.ante@lorem.org','ultricies');
INSERT INTO users (code,first,last,email,quote) VALUES ('64','Palmer','Dennis','venenatis.lacus@Donecnonjusto.org','a, arcu. Sed et libero. Proin'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('64','Palmer','Dennis','venenatis.lacus@Donecnonjusto.org','a, arcu. Sed et libero. Proin');
INSERT INTO users (code,first,last,email,quote) VALUES ('65','Wesley','Reeves','massa.Suspendisse.eleifend@nec.edu','consequat'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('65','Wesley','Reeves','massa.Suspendisse.eleifend@nec.edu','consequat');
INSERT INTO users (code,first,last,email,quote) VALUES ('66','Mallory','Todd','Duis@Crasloremlorem.edu','nascetur ridiculus mus. Proin vel arcu eu odio'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('66','Mallory','Todd','Duis@Crasloremlorem.edu','nascetur ridiculus mus. Proin vel arcu eu odio');
INSERT INTO users (code,first,last,email,quote) VALUES ('67','Perry','Kirk','tincidunt.adipiscing@mauris.ca','ullamcorper viverra. Maecenas iaculis aliquet diam. Sed diam lorem,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('67','Perry','Kirk','tincidunt.adipiscing@mauris.ca','ullamcorper viverra. Maecenas iaculis aliquet diam. Sed diam lorem,');
INSERT INTO users (code,first,last,email,quote) VALUES ('68','Justina','Horne','enim.nec.tempus@magnanec.com','ipsum ac mi eleifend egestas. Sed pharetra, felis eget'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('68','Justina','Horne','enim.nec.tempus@magnanec.com','ipsum ac mi eleifend egestas. Sed pharetra, felis eget');
INSERT INTO users (code,first,last,email,quote) VALUES ('69','Noel','Santana','Duis.elementum.dui@Nullamvitae.org','Phasellus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('69','Noel','Santana','Duis.elementum.dui@Nullamvitae.org','Phasellus');
INSERT INTO users (code,first,last,email,quote) VALUES ('70','Sylvester','Bridges','Sed.neque@ornarelectusante.org','Maecenas libero'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('70','Sylvester','Bridges','Sed.neque@ornarelectusante.org','Maecenas libero');
INSERT INTO users (code,first,last,email,quote) VALUES ('71','Cailin','Baldwin','eu@nibhenim.com','consectetuer'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('71','Cailin','Baldwin','eu@nibhenim.com','consectetuer');
INSERT INTO users (code,first,last,email,quote) VALUES ('72','Beatrice','Henson','risus.Nunc.ac@Etiam.ca','nec, imperdiet nec, leo. Morbi neque'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('72','Beatrice','Henson','risus.Nunc.ac@Etiam.ca','nec, imperdiet nec, leo. Morbi neque');
INSERT INTO users (code,first,last,email,quote) VALUES ('73','Kellie','Curry','quis.turpis.vitae@Quisque.org','ipsum. Suspendisse non leo.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('73','Kellie','Curry','quis.turpis.vitae@Quisque.org','ipsum. Suspendisse non leo.');
INSERT INTO users (code,first,last,email,quote) VALUES ('74','Justine','Stewart','Curabitur@dui.org','natoque penatibus et magnis dis parturient'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('74','Justine','Stewart','Curabitur@dui.org','natoque penatibus et magnis dis parturient');
INSERT INTO users (code,first,last,email,quote) VALUES ('75','Dean','Waters','quis.turpis@morbi.ca','Nulla interdum. Curabitur dictum. Phasellus in felis. Nulla tempor augue'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('75','Dean','Waters','quis.turpis@morbi.ca','Nulla interdum. Curabitur dictum. Phasellus in felis. Nulla tempor augue');
INSERT INTO users (code,first,last,email,quote) VALUES ('76','Helen','Porter','molestie.dapibus.ligula@ipsum.com','enim non nisi. Aenean eget'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('76','Helen','Porter','molestie.dapibus.ligula@ipsum.com','enim non nisi. Aenean eget');
INSERT INTO users (code,first,last,email,quote) VALUES ('77','Janna','Acosta','lectus.a@tempusrisus.com','lectus justo'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('77','Janna','Acosta','lectus.a@tempusrisus.com','lectus justo');
INSERT INTO users (code,first,last,email,quote) VALUES ('78','Libby','Vaughn','nisl.sem.consequat@convallis.ca','purus mauris a nunc.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('78','Libby','Vaughn','nisl.sem.consequat@convallis.ca','purus mauris a nunc.');
INSERT INTO users (code,first,last,email,quote) VALUES ('79','Winifred','Cooke','aliquet.sem.ut@etrutrum.ca','metus facilisis lorem tristique aliquet. Phasellus fermentum convallis ligula. Donec'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('79','Winifred','Cooke','aliquet.sem.ut@etrutrum.ca','metus facilisis lorem tristique aliquet. Phasellus fermentum convallis ligula. Donec');
INSERT INTO users (code,first,last,email,quote) VALUES ('80','Taylor','Glass','sit@maurissitamet.com','orci, consectetuer euismod'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('80','Taylor','Glass','sit@maurissitamet.com','orci, consectetuer euismod');
INSERT INTO users (code,first,last,email,quote) VALUES ('81','Melyssa','Palmer','pharetra.sed.hendrerit@fermentum.ca','neque tellus, imperdiet non, vestibulum nec,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('81','Melyssa','Palmer','pharetra.sed.hendrerit@fermentum.ca','neque tellus, imperdiet non, vestibulum nec,');
INSERT INTO users (code,first,last,email,quote) VALUES ('82','Kuame','Holman','Vivamus@Donecnibh.edu','cursus non, egestas a, dui. Cras'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('82','Kuame','Holman','Vivamus@Donecnibh.edu','cursus non, egestas a, dui. Cras');
INSERT INTO users (code,first,last,email,quote) VALUES ('83','Martin','Hughes','magna@nonbibendum.org','et ultrices posuere cubilia'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('83','Martin','Hughes','magna@nonbibendum.org','et ultrices posuere cubilia');
INSERT INTO users (code,first,last,email,quote) VALUES ('84','Roanna','Potter','amet.dapibus@aenim.com','est tempor bibendum. Donec'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('84','Roanna','Potter','amet.dapibus@aenim.com','est tempor bibendum. Donec');
INSERT INTO users (code,first,last,email,quote) VALUES ('85','Cleo','Carson','Curabitur.dictum.Phasellus@liberoIntegerin.com','mauris'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('85','Cleo','Carson','Curabitur.dictum.Phasellus@liberoIntegerin.com','mauris');
INSERT INTO users (code,first,last,email,quote) VALUES ('86','Adele','Daugherty','vulputate.ullamcorper@elitfermentumrisus.edu','consequat purus. Maecenas'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('86','Adele','Daugherty','vulputate.ullamcorper@elitfermentumrisus.edu','consequat purus. Maecenas');
INSERT INTO users (code,first,last,email,quote) VALUES ('87','Macon','Todd','et.malesuada@Crasloremlorem.com','montes, nascetur ridiculus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('87','Macon','Todd','et.malesuada@Crasloremlorem.com','montes, nascetur ridiculus');
INSERT INTO users (code,first,last,email,quote) VALUES ('88','Ira','Merritt','risus@eunullaat.ca','metus.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('88','Ira','Merritt','risus@eunullaat.ca','metus.');
INSERT INTO users (code,first,last,email,quote) VALUES ('89','Dustin','Landry','nec.orci.Donec@vulputateeu.com','Nunc pulvinar arcu et pede. Nunc sed'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('89','Dustin','Landry','nec.orci.Donec@vulputateeu.com','Nunc pulvinar arcu et pede. Nunc sed');
INSERT INTO users (code,first,last,email,quote) VALUES ('90','Debra','Shepherd','dolor.elit@ornareFusce.ca','Suspendisse non leo. Vivamus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('90','Debra','Shepherd','dolor.elit@ornareFusce.ca','Suspendisse non leo. Vivamus');
INSERT INTO users (code,first,last,email,quote) VALUES ('91','Channing','Mcknight','tellus@laoreet.ca','non ante bibendum ullamcorper. Duis cursus, diam at pretium aliquet,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('91','Channing','Mcknight','tellus@laoreet.ca','non ante bibendum ullamcorper. Duis cursus, diam at pretium aliquet,');
INSERT INTO users (code,first,last,email,quote) VALUES ('92','Abraham','Rodgers','tincidunt.nibh@ipsum.ca','Cum sociis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('92','Abraham','Rodgers','tincidunt.nibh@ipsum.ca','Cum sociis');
INSERT INTO users (code,first,last,email,quote) VALUES ('93','Abel','Mcintyre','et@turpisvitaepurus.com','at pretium aliquet,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('93','Abel','Mcintyre','et@turpisvitaepurus.com','at pretium aliquet,');
INSERT INTO users (code,first,last,email,quote) VALUES ('94','Lysandra','Cotton','malesuada.malesuada.Integer@gravidamolestie.org','commodo hendrerit. Donec'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('94','Lysandra','Cotton','malesuada.malesuada.Integer@gravidamolestie.org','commodo hendrerit. Donec');
INSERT INTO users (code,first,last,email,quote) VALUES ('95','Kane','Bennett','ante.Vivamus@Donec.ca','consectetuer rhoncus. Nullam velit dui, semper et, lacinia vitae, sodales'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('95','Kane','Bennett','ante.Vivamus@Donec.ca','consectetuer rhoncus. Nullam velit dui, semper et, lacinia vitae, sodales');
INSERT INTO users (code,first,last,email,quote) VALUES ('96','Timothy','Rivas','hendrerit.consectetuer@nonarcuVivamus.ca','Suspendisse non leo. Vivamus nibh dolor, nonummy ac, feugiat'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('96','Timothy','Rivas','hendrerit.consectetuer@nonarcuVivamus.ca','Suspendisse non leo. Vivamus nibh dolor, nonummy ac, feugiat');
INSERT INTO users (code,first,last,email,quote) VALUES ('97','Arden','Cote','magnis@sedestNunc.org','purus mauris a nunc.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('97','Arden','Cote','magnis@sedestNunc.org','purus mauris a nunc.');
INSERT INTO users (code,first,last,email,quote) VALUES ('98','Brynn','Britt','ac@nibhQuisque.edu','Duis gravida. Praesent eu nulla at sem molestie'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('98','Brynn','Britt','ac@nibhQuisque.edu','Duis gravida. Praesent eu nulla at sem molestie');
INSERT INTO users (code,first,last,email,quote) VALUES ('99','Jerome','Kirkland','ac@nibhPhasellus.com','neque'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('99','Jerome','Kirkland','ac@nibhPhasellus.com','neque');
INSERT INTO users (code,first,last,email,quote) VALUES ('100','Hoyt','Tran','ullamcorper.viverra@parturientmontesnascetur.org','ac tellus. Suspendisse sed dolor. Fusce mi'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('100','Hoyt','Tran','ullamcorper.viverra@parturientmontesnascetur.org','ac tellus. Suspendisse sed dolor. Fusce mi');
INSERT INTO users (code,first,last,email,quote) VALUES ('101','Abraham','Downs','velit.eu.sem@neceuismod.ca','suscipit,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('101','Abraham','Downs','velit.eu.sem@neceuismod.ca','suscipit,');
INSERT INTO users (code,first,last,email,quote) VALUES ('102','Vivien','Fletcher','Nunc.ut@quamPellentesquehabitant.edu','lobortis. Class aptent taciti sociosqu ad'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('102','Vivien','Fletcher','Nunc.ut@quamPellentesquehabitant.edu','lobortis. Class aptent taciti sociosqu ad');
INSERT INTO users (code,first,last,email,quote) VALUES ('103','Azalia','Turner','scelerisque@at.edu','odio sagittis semper. Nam tempor diam dictum'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('103','Azalia','Turner','scelerisque@at.edu','odio sagittis semper. Nam tempor diam dictum');
INSERT INTO users (code,first,last,email,quote) VALUES ('104','Tate','Ellis','velit.Sed.malesuada@Cras.com','sed'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('104','Tate','Ellis','velit.Sed.malesuada@Cras.com','sed');
INSERT INTO users (code,first,last,email,quote) VALUES ('105','Dennis','Walls','Nullam.scelerisque@amifringilla.edu','arcu. Vestibulum ut eros non enim commodo hendrerit. Donec porttitor'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('105','Dennis','Walls','Nullam.scelerisque@amifringilla.edu','arcu. Vestibulum ut eros non enim commodo hendrerit. Donec porttitor');
INSERT INTO users (code,first,last,email,quote) VALUES ('106','Amela','Collins','Quisque@magna.org','Proin'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('106','Amela','Collins','Quisque@magna.org','Proin');
INSERT INTO users (code,first,last,email,quote) VALUES ('107','Olivia','Dejesus','scelerisque@vitae.org','Duis cursus, diam at pretium aliquet,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('107','Olivia','Dejesus','scelerisque@vitae.org','Duis cursus, diam at pretium aliquet,');
INSERT INTO users (code,first,last,email,quote) VALUES ('108','Mechelle','Russo','Fusce.aliquet.magna@Praesent.org','penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('108','Mechelle','Russo','Fusce.aliquet.magna@Praesent.org','penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin');
INSERT INTO users (code,first,last,email,quote) VALUES ('109','Hall','Burke','Vivamus.nibh@pellentesque.edu','et libero. Proin mi. Aliquam'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('109','Hall','Burke','Vivamus.nibh@pellentesque.edu','et libero. Proin mi. Aliquam');
INSERT INTO users (code,first,last,email,quote) VALUES ('110','Chanda','Ayers','magna.Nam.ligula@NullafacilisiSed.org','dui, semper et, lacinia vitae, sodales at,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('110','Chanda','Ayers','magna.Nam.ligula@NullafacilisiSed.org','dui, semper et, lacinia vitae, sodales at,');
INSERT INTO users (code,first,last,email,quote) VALUES ('111','Abdul','Dominguez','pretium.aliquet.metus@vellectusCum.com','vitae erat vel pede blandit congue. In scelerisque scelerisque dui.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('111','Abdul','Dominguez','pretium.aliquet.metus@vellectusCum.com','vitae erat vel pede blandit congue. In scelerisque scelerisque dui.');
INSERT INTO users (code,first,last,email,quote) VALUES ('112','Wynter','Lynn','tellus.Aenean@ligulatortordictum.ca','adipiscing fringilla, porttitor vulputate, posuere vulputate, lacus. Cras interdum.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('112','Wynter','Lynn','tellus.Aenean@ligulatortordictum.ca','adipiscing fringilla, porttitor vulputate, posuere vulputate, lacus. Cras interdum.');
INSERT INTO users (code,first,last,email,quote) VALUES ('113','Molly','Willis','montes.nascetur@sed.org','sem. Nulla interdum. Curabitur dictum. Phasellus in felis.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('113','Molly','Willis','montes.nascetur@sed.org','sem. Nulla interdum. Curabitur dictum. Phasellus in felis.');
INSERT INTO users (code,first,last,email,quote) VALUES ('114','Shafira','Harper','Phasellus.in.felis@ategestas.edu','Vivamus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('114','Shafira','Harper','Phasellus.in.felis@ategestas.edu','Vivamus');
INSERT INTO users (code,first,last,email,quote) VALUES ('115','Otto','Gentry','in.molestie.tortor@Fusce.edu','est. Mauris eu turpis. Nulla aliquet. Proin velit.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('115','Otto','Gentry','in.molestie.tortor@Fusce.edu','est. Mauris eu turpis. Nulla aliquet. Proin velit.');
INSERT INTO users (code,first,last,email,quote) VALUES ('116','Todd','Riddle','et@nislsem.com','Nulla'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('116','Todd','Riddle','et@nislsem.com','Nulla');
INSERT INTO users (code,first,last,email,quote) VALUES ('117','Mufutau','Pollard','sit@ridiculusmus.org','accumsan neque et nunc. Quisque ornare tortor at'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('117','Mufutau','Pollard','sit@ridiculusmus.org','accumsan neque et nunc. Quisque ornare tortor at');
INSERT INTO users (code,first,last,email,quote) VALUES ('118','Noah','Sears','tristique.neque.venenatis@luctuslobortis.org','dictum'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('118','Noah','Sears','tristique.neque.venenatis@luctuslobortis.org','dictum');
INSERT INTO users (code,first,last,email,quote) VALUES ('119','Amanda','Clarke','in.consequat@non.org','nisi dictum augue malesuada malesuada. Integer id magna et ipsum'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('119','Amanda','Clarke','in.consequat@non.org','nisi dictum augue malesuada malesuada. Integer id magna et ipsum');
INSERT INTO users (code,first,last,email,quote) VALUES ('120','Vladimir','Colon','velit.dui@scelerisquenequeNullam.com','pharetra sed, hendrerit a, arcu. Sed et libero.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('120','Vladimir','Colon','velit.dui@scelerisquenequeNullam.com','pharetra sed, hendrerit a, arcu. Sed et libero.');
INSERT INTO users (code,first,last,email,quote) VALUES ('121','Aaron','Hernandez','Quisque.ornare.tortor@magna.ca','sit amet ante. Vivamus non lorem vitae odio'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('121','Aaron','Hernandez','Quisque.ornare.tortor@magna.ca','sit amet ante. Vivamus non lorem vitae odio');
INSERT INTO users (code,first,last,email,quote) VALUES ('122','Bert','Gonzales','fermentum@Nullamvelit.ca','quis massa. Mauris vestibulum, neque sed dictum eleifend, nunc'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('122','Bert','Gonzales','fermentum@Nullamvelit.ca','quis massa. Mauris vestibulum, neque sed dictum eleifend, nunc');
INSERT INTO users (code,first,last,email,quote) VALUES ('123','Bevis','Leblanc','viverra.Donec@dictumaugue.com','neque sed dictum eleifend, nunc risus varius orci, in'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('123','Bevis','Leblanc','viverra.Donec@dictumaugue.com','neque sed dictum eleifend, nunc risus varius orci, in');
INSERT INTO users (code,first,last,email,quote) VALUES ('124','Noble','Fisher','Cum@eu.com','Nunc quis arcu'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('124','Noble','Fisher','Cum@eu.com','Nunc quis arcu');
INSERT INTO users (code,first,last,email,quote) VALUES ('125','Xaviera','Barton','non.arcu@sagittis.com','ultrices posuere cubilia Curae; Phasellus ornare. Fusce mollis. Duis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('125','Xaviera','Barton','non.arcu@sagittis.com','ultrices posuere cubilia Curae; Phasellus ornare. Fusce mollis. Duis');
INSERT INTO users (code,first,last,email,quote) VALUES ('126','Logan','Roy','Nulla@hendreritconsectetuercursus.com','sed, facilisis vitae, orci. Phasellus dapibus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('126','Logan','Roy','Nulla@hendreritconsectetuercursus.com','sed, facilisis vitae, orci. Phasellus dapibus');
INSERT INTO users (code,first,last,email,quote) VALUES ('127','Wilma','Sweet','Nullam.nisl.Maecenas@gravidasagittis.org','ut, nulla. Cras'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('127','Wilma','Sweet','Nullam.nisl.Maecenas@gravidasagittis.org','ut, nulla. Cras');
INSERT INTO users (code,first,last,email,quote) VALUES ('128','Candace','Olsen','sit.amet@lobortisnisi.com','habitant morbi tristique senectus et netus et malesuada'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('128','Candace','Olsen','sit.amet@lobortisnisi.com','habitant morbi tristique senectus et netus et malesuada');
INSERT INTO users (code,first,last,email,quote) VALUES ('129','Claire','Alvarado','risus.varius@interdumSed.com','a felis ullamcorper viverra. Maecenas iaculis aliquet'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('129','Claire','Alvarado','risus.varius@interdumSed.com','a felis ullamcorper viverra. Maecenas iaculis aliquet');
INSERT INTO users (code,first,last,email,quote) VALUES ('130','Aurelia','Bean','diam.dictum.sapien@eu.edu','libero. Integer in magna. Phasellus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('130','Aurelia','Bean','diam.dictum.sapien@eu.edu','libero. Integer in magna. Phasellus');
INSERT INTO users (code,first,last,email,quote) VALUES ('131','Carly','Wilcox','massa.non.ante@Aliquam.com','vehicula risus. Nulla eget metus eu erat semper rutrum. Fusce'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('131','Carly','Wilcox','massa.non.ante@Aliquam.com','vehicula risus. Nulla eget metus eu erat semper rutrum. Fusce');
INSERT INTO users (code,first,last,email,quote) VALUES ('132','Xanthus','Graves','vulputate.velit.eu@vitaerisus.com','Cras sed leo. Cras vehicula aliquet libero. Integer in magna.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('132','Xanthus','Graves','vulputate.velit.eu@vitaerisus.com','Cras sed leo. Cras vehicula aliquet libero. Integer in magna.');
INSERT INTO users (code,first,last,email,quote) VALUES ('133','Uta','Justice','adipiscing@consequatdolor.edu','Nam tempor diam dictum sapien. Aenean massa.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('133','Uta','Justice','adipiscing@consequatdolor.edu','Nam tempor diam dictum sapien. Aenean massa.');
INSERT INTO users (code,first,last,email,quote) VALUES ('134','Alika','Parker','faucibus.ut@Fuscemilorem.edu','vel, venenatis vel, faucibus id,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('134','Alika','Parker','faucibus.ut@Fuscemilorem.edu','vel, venenatis vel, faucibus id,');
INSERT INTO users (code,first,last,email,quote) VALUES ('135','Kasimir','Pugh','sed.turpis@FuscefeugiatLorem.com','justo. Praesent luctus. Curabitur egestas nunc'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('135','Kasimir','Pugh','sed.turpis@FuscefeugiatLorem.com','justo. Praesent luctus. Curabitur egestas nunc');
INSERT INTO users (code,first,last,email,quote) VALUES ('136','Brock','Acevedo','dapibus.rutrum@convallisconvallisdolor.org','eu enim. Etiam'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('136','Brock','Acevedo','dapibus.rutrum@convallisconvallisdolor.org','eu enim. Etiam');
INSERT INTO users (code,first,last,email,quote) VALUES ('137','Orla','Hogan','in@Aliquamauctor.com','ac turpis egestas. Aliquam fringilla cursus purus. Nullam scelerisque neque'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('137','Orla','Hogan','in@Aliquamauctor.com','ac turpis egestas. Aliquam fringilla cursus purus. Nullam scelerisque neque');
INSERT INTO users (code,first,last,email,quote) VALUES ('138','Tatyana','Bean','molestie.arcu@sempercursus.edu','pellentesque, tellus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('138','Tatyana','Bean','molestie.arcu@sempercursus.edu','pellentesque, tellus');
INSERT INTO users (code,first,last,email,quote) VALUES ('139','Cadman','Humphrey','auctor@Aeneangravida.edu','eget, dictum'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('139','Cadman','Humphrey','auctor@Aeneangravida.edu','eget, dictum');
INSERT INTO users (code,first,last,email,quote) VALUES ('140','Delilah','Quinn','Pellentesque.habitant@liberoMorbi.edu','lobortis quam a felis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('140','Delilah','Quinn','Pellentesque.habitant@liberoMorbi.edu','lobortis quam a felis');
INSERT INTO users (code,first,last,email,quote) VALUES ('141','Briar','Prince','euismod@Aeneangravida.com','at, libero.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('141','Briar','Prince','euismod@Aeneangravida.com','at, libero.');
INSERT INTO users (code,first,last,email,quote) VALUES ('142','Hedda','Garrett','eleifend@sitamet.org','ac turpis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('142','Hedda','Garrett','eleifend@sitamet.org','ac turpis');
INSERT INTO users (code,first,last,email,quote) VALUES ('143','Sage','Hardy','semper@acfeugiat.org','Nunc laoreet lectus quis massa.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('143','Sage','Hardy','semper@acfeugiat.org','Nunc laoreet lectus quis massa.');
INSERT INTO users (code,first,last,email,quote) VALUES ('144','Iris','Meyers','Duis.a.mi@Donecnibhenim.edu','vitae aliquam eros turpis non enim. Mauris quis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('144','Iris','Meyers','Duis.a.mi@Donecnibhenim.edu','vitae aliquam eros turpis non enim. Mauris quis');
INSERT INTO users (code,first,last,email,quote) VALUES ('145','Hayes','Bates','molestie@magnaSuspendisse.com','fringilla. Donec feugiat metus sit amet ante.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('145','Hayes','Bates','molestie@magnaSuspendisse.com','fringilla. Donec feugiat metus sit amet ante.');
INSERT INTO users (code,first,last,email,quote) VALUES ('146','Rana','Cain','malesuada@loremsitamet.edu','mi'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('146','Rana','Cain','malesuada@loremsitamet.edu','mi');
INSERT INTO users (code,first,last,email,quote) VALUES ('147','acqueline','Mays','est.Nunc.laoreet@est.edu','odio. Phasellus at augue id ante dictum cursus. Nunc'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('147','acqueline','Mays','est.Nunc.laoreet@est.edu','odio. Phasellus at augue id ante dictum cursus. Nunc');
INSERT INTO users (code,first,last,email,quote) VALUES ('148','Nichole','Suarez','cursus.purus.Nullam@ac.edu','Sed malesuada augue ut lacus. Nulla'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('148','Nichole','Suarez','cursus.purus.Nullam@ac.edu','Sed malesuada augue ut lacus. Nulla');
INSERT INTO users (code,first,last,email,quote) VALUES ('149','Sasha','Sparks','fermentum@nonenim.edu','Sed dictum. Proin eget odio.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('149','Sasha','Sparks','fermentum@nonenim.edu','Sed dictum. Proin eget odio.');
INSERT INTO users (code,first,last,email,quote) VALUES ('150','Timon','Lowery','suscipit@Donecat.edu','pede blandit congue. In scelerisque scelerisque dui. Suspendisse ac metus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('150','Timon','Lowery','suscipit@Donecat.edu','pede blandit congue. In scelerisque scelerisque dui. Suspendisse ac metus');
INSERT INTO users (code,first,last,email,quote) VALUES ('151','Ivor','Charles','augue.eu@odiovelest.org','quis urna. Nunc quis arcu vel quam dignissim'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('151','Ivor','Charles','augue.eu@odiovelest.org','quis urna. Nunc quis arcu vel quam dignissim');
INSERT INTO users (code,first,last,email,quote) VALUES ('152','Joelle','Trevino','eget@diamdictumsapien.ca','tortor, dictum eu, placerat eget, venenatis a,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('152','Joelle','Trevino','eget@diamdictumsapien.ca','tortor, dictum eu, placerat eget, venenatis a,');
INSERT INTO users (code,first,last,email,quote) VALUES ('153','Aristotle','Wall','at@Pellentesqueutipsum.com','quis,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('153','Aristotle','Wall','at@Pellentesqueutipsum.com','quis,');
INSERT INTO users (code,first,last,email,quote) VALUES ('154','Amena','Boyd','elit.Etiam@vehiculaet.com','molestie dapibus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('154','Amena','Boyd','elit.Etiam@vehiculaet.com','molestie dapibus');
INSERT INTO users (code,first,last,email,quote) VALUES ('155','Rashad','Osborn','ac@aliquam.ca','sed'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('155','Rashad','Osborn','ac@aliquam.ca','sed');
INSERT INTO users (code,first,last,email,quote) VALUES ('156','Theodore','Williamson','dignissim.magna@volutpat.ca','Fusce fermentum fermentum'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('156','Theodore','Williamson','dignissim.magna@volutpat.ca','Fusce fermentum fermentum');
INSERT INTO users (code,first,last,email,quote) VALUES ('157','Rajah','Logan','enim@Aliquamerat.com','nunc. Quisque ornare tortor'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('157','Rajah','Logan','enim@Aliquamerat.com','nunc. Quisque ornare tortor');
INSERT INTO users (code,first,last,email,quote) VALUES ('158','Zane','Perez','aliquet@aliquetPhasellus.com','pede.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('158','Zane','Perez','aliquet@aliquetPhasellus.com','pede.');
INSERT INTO users (code,first,last,email,quote) VALUES ('159','Jena','Rios','urna@velitegetlaoreet.org','eu erat semper rutrum.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('159','Jena','Rios','urna@velitegetlaoreet.org','eu erat semper rutrum.');
INSERT INTO users (code,first,last,email,quote) VALUES ('160','Amber','Gallagher','conubia@elit.org','Maecenas ornare egestas'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('160','Amber','Gallagher','conubia@elit.org','Maecenas ornare egestas');
INSERT INTO users (code,first,last,email,quote) VALUES ('161','Veda','Pittman','habitant.morbi.tristique@aliquamenimnec.ca','risus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('161','Veda','Pittman','habitant.morbi.tristique@aliquamenimnec.ca','risus');
INSERT INTO users (code,first,last,email,quote) VALUES ('162','Nathan','Lowe','dui.Cum.sociis@Sed.org','sed, est. Nunc'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('162','Nathan','Lowe','dui.Cum.sociis@Sed.org','sed, est. Nunc');
INSERT INTO users (code,first,last,email,quote) VALUES ('163','Matthew','Townsend','commodo.auctor.velit@egestasadui.ca','ligula. Aenean euismod'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('163','Matthew','Townsend','commodo.auctor.velit@egestasadui.ca','ligula. Aenean euismod');
INSERT INTO users (code,first,last,email,quote) VALUES ('164','Oscar','Richards','vulputate.ullamcorper@eueleifendnec.ca','laoreet ipsum. Curabitur consequat, lectus sit'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('164','Oscar','Richards','vulputate.ullamcorper@eueleifendnec.ca','laoreet ipsum. Curabitur consequat, lectus sit');
INSERT INTO users (code,first,last,email,quote) VALUES ('165','Gareth','Jackson','nec.diam.Duis@nisl.com','iaculis nec, eleifend non, dapibus rutrum, justo. Praesent luctus.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('165','Gareth','Jackson','nec.diam.Duis@nisl.com','iaculis nec, eleifend non, dapibus rutrum, justo. Praesent luctus.');
INSERT INTO users (code,first,last,email,quote) VALUES ('166','Alice','Hyde','Sed.auctor.odio@tortor.edu','id, libero. Donec consectetuer mauris id sapien. Cras dolor'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('166','Alice','Hyde','Sed.auctor.odio@tortor.edu','id, libero. Donec consectetuer mauris id sapien. Cras dolor');
INSERT INTO users (code,first,last,email,quote) VALUES ('167','Giacomo','Ramos','et.ipsum.cursus@massanon.edu','auctor non, feugiat nec, diam. Duis'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('167','Giacomo','Ramos','et.ipsum.cursus@massanon.edu','auctor non, feugiat nec, diam. Duis');
INSERT INTO users (code,first,last,email,quote) VALUES ('168','Ciara','Jacobson','Donec.egestas.Aliquam@Aeneangravidanunc.edu','molestie tellus.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('168','Ciara','Jacobson','Donec.egestas.Aliquam@Aeneangravidanunc.edu','molestie tellus.');
INSERT INTO users (code,first,last,email,quote) VALUES ('169','Logan','Hendricks','luctus@vulputatedui.ca','in, cursus et, eros. Proin ultrices. Duis volutpat nunc'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('169','Logan','Hendricks','luctus@vulputatedui.ca','in, cursus et, eros. Proin ultrices. Duis volutpat nunc');
INSERT INTO users (code,first,last,email,quote) VALUES ('170','MacKenzie','Campos','luctus.ut.pellentesque@pellentesquea.edu','erat,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('170','MacKenzie','Campos','luctus.ut.pellentesque@pellentesquea.edu','erat,');
INSERT INTO users (code,first,last,email,quote) VALUES ('171','Nina','Best','purus.sapien@aliquet.ca','dolor sit amet, consectetuer'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('171','Nina','Best','purus.sapien@aliquet.ca','dolor sit amet, consectetuer');
INSERT INTO users (code,first,last,email,quote) VALUES ('172','Chester','Howe','Cum.sociis.natoque@Duis.ca','dui, nec tempus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('172','Chester','Howe','Cum.sociis.natoque@Duis.ca','dui, nec tempus');
INSERT INTO users (code,first,last,email,quote) VALUES ('173','Nora','Callahan','in.hendrerit@ametconsectetueradipiscing.com','tempus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('173','Nora','Callahan','in.hendrerit@ametconsectetueradipiscing.com','tempus');
INSERT INTO users (code,first,last,email,quote) VALUES ('174','Molly','Bray','consectetuer@velitSedmalesuada.edu','lorem fringilla ornare placerat, orci lacus vestibulum lorem, sit'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('174','Molly','Bray','consectetuer@velitSedmalesuada.edu','lorem fringilla ornare placerat, orci lacus vestibulum lorem, sit');
INSERT INTO users (code,first,last,email,quote) VALUES ('175','Ariel','Osborn','et@Aeneanegestashendrerit.ca','enim. Sed nulla ante, iaculis nec,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('175','Ariel','Osborn','et@Aeneanegestashendrerit.ca','enim. Sed nulla ante, iaculis nec,');
INSERT INTO users (code,first,last,email,quote) VALUES ('176','Arsenio','Leblanc','Pellentesque.ut.ipsum@nibh.com','elit pede, malesuada vel, venenatis vel, faucibus id, libero.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('176','Arsenio','Leblanc','Pellentesque.ut.ipsum@nibh.com','elit pede, malesuada vel, venenatis vel, faucibus id, libero.');
INSERT INTO users (code,first,last,email,quote) VALUES ('177','Deborah','Bowman','enim.Etiam@primisinfaucibus.ca','eu nibh vulputate mauris'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('177','Deborah','Bowman','enim.Etiam@primisinfaucibus.ca','eu nibh vulputate mauris');
INSERT INTO users (code,first,last,email,quote) VALUES ('178','Delilah','Horton','tincidunt.nunc@arcuet.ca','nec ante. Maecenas mi'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('178','Delilah','Horton','tincidunt.nunc@arcuet.ca','nec ante. Maecenas mi');
INSERT INTO users (code,first,last,email,quote) VALUES ('179','Isaiah','Buckley','Fusce.feugiat@massa.org','ut'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('179','Isaiah','Buckley','Fusce.feugiat@massa.org','ut');
INSERT INTO users (code,first,last,email,quote) VALUES ('180','Logan','Jacobs','Phasellus@utsemNulla.ca','ullamcorper eu, euismod'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('180','Logan','Jacobs','Phasellus@utsemNulla.ca','ullamcorper eu, euismod');
INSERT INTO users (code,first,last,email,quote) VALUES ('181','Lesley','Brown','fringilla@erateget.com','nostra, per inceptos'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('181','Lesley','Brown','fringilla@erateget.com','nostra, per inceptos');
INSERT INTO users (code,first,last,email,quote) VALUES ('182','Kay','Dodson','a.purus@velpedeblandit.ca','tortor at risus. Nunc ac sem ut'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('182','Kay','Dodson','a.purus@velpedeblandit.ca','tortor at risus. Nunc ac sem ut');
INSERT INTO users (code,first,last,email,quote) VALUES ('183','Yeo','Hayes','vitae.posuere.at@scelerisque.com','a, dui. Cras'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('183','Yeo','Hayes','vitae.posuere.at@scelerisque.com','a, dui. Cras');
INSERT INTO users (code,first,last,email,quote) VALUES ('184','Keegan','Brock','molestie.tellus@convallisestvitae.ca','mi eleifend egestas. Sed pharetra, felis eget varius ultrices,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('184','Keegan','Brock','molestie.tellus@convallisestvitae.ca','mi eleifend egestas. Sed pharetra, felis eget varius ultrices,');
INSERT INTO users (code,first,last,email,quote) VALUES ('185','Kim','Foley','at@acrisusMorbi.com','scelerisque sed, sapien.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('185','Kim','Foley','at@acrisusMorbi.com','scelerisque sed, sapien.');
INSERT INTO users (code,first,last,email,quote) VALUES ('186','Celeste','Delacruz','ipsum.non.arcu@vulputate.edu','Donec fringilla. Donec feugiat metus'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('186','Celeste','Delacruz','ipsum.non.arcu@vulputate.edu','Donec fringilla. Donec feugiat metus');
INSERT INTO users (code,first,last,email,quote) VALUES ('187','Hilda','Rowe','gravida.sit@nisi.ca','eu nulla at sem molestie sodales. Mauris blandit enim'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('187','Hilda','Rowe','gravida.sit@nisi.ca','eu nulla at sem molestie sodales. Mauris blandit enim');
INSERT INTO users (code,first,last,email,quote) VALUES ('188','Fuller','Mclaughlin','purus.gravida.sagittis@arcu.com','erat. Sed nunc est, mollis non, cursus non, egestas a,'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('188','Fuller','Mclaughlin','purus.gravida.sagittis@arcu.com','erat. Sed nunc est, mollis non, cursus non, egestas a,');
INSERT INTO users (code,first,last,email,quote) VALUES ('189','Madeline','Henderson','lorem.fringilla@cursusdiam.com','Sed pharetra, felis eget varius ultrices, mauris'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('189','Madeline','Henderson','lorem.fringilla@cursusdiam.com','Sed pharetra, felis eget varius ultrices, mauris');
INSERT INTO users (code,first,last,email,quote) VALUES ('190','Josephine','Osborn','metus@tincidunt.ca','a sollicitudin orci sem eget massa. Suspendisse'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('190','Josephine','Osborn','metus@tincidunt.ca','a sollicitudin orci sem eget massa. Suspendisse');
INSERT INTO users (code,first,last,email,quote) VALUES ('191','Ivana','Jimenez','justo@egestasSedpharetra.org','Duis risus odio, auctor vitae, aliquet nec, imperdiet nec, leo.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('191','Ivana','Jimenez','justo@egestasSedpharetra.org','Duis risus odio, auctor vitae, aliquet nec, imperdiet nec, leo.');
INSERT INTO users (code,first,last,email,quote) VALUES ('192','Stephanie','Dickerson','aliquet.nec.imperdiet@Aliquamrutrumlorem.com','nec ante. Maecenas mi felis, adipiscing'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('192','Stephanie','Dickerson','aliquet.nec.imperdiet@Aliquamrutrumlorem.com','nec ante. Maecenas mi felis, adipiscing');
INSERT INTO users (code,first,last,email,quote) VALUES ('193','Yardley','Trevino','lacinia.mattis@porttitoreros.edu','lacus.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('193','Yardley','Trevino','lacinia.mattis@porttitoreros.edu','lacus.');
INSERT INTO users (code,first,last,email,quote) VALUES ('194','Carol','Acosta','Donec@aliquetmolestie.ca','arcu'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('194','Carol','Acosta','Donec@aliquetmolestie.ca','arcu');
INSERT INTO users (code,first,last,email,quote) VALUES ('195','Lysandra','Mosley','imperdiet@Suspendissesed.org','viverra. Maecenas iaculis aliquet diam.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('195','Lysandra','Mosley','imperdiet@Suspendissesed.org','viverra. Maecenas iaculis aliquet diam.');
INSERT INTO users (code,first,last,email,quote) VALUES ('196','Tamara','Solis','eleifend.egestas.Sed@duiinsodales.com','sit amet lorem semper auctor. Mauris vel'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('196','Tamara','Solis','eleifend.egestas.Sed@duiinsodales.com','sit amet lorem semper auctor. Mauris vel');
INSERT INTO users (code,first,last,email,quote) VALUES ('197','Palmer','Perez','nibh@nonduinec.edu','lacus vestibulum lorem, sit amet'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('197','Palmer','Perez','nibh@nonduinec.edu','lacus vestibulum lorem, sit amet');
INSERT INTO users (code,first,last,email,quote) VALUES ('198','Maia','Donaldson','gravida.Aliquam.tincidunt@volutpatNulladignissim.edu','sit amet luctus vulputate, nisi'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('198','Maia','Donaldson','gravida.Aliquam.tincidunt@volutpatNulladignissim.edu','sit amet luctus vulputate, nisi');
INSERT INTO users (code,first,last,email,quote) VALUES ('199','Murphy','Wright','et.pede@aptenttacitisociosqu.ca','non arcu. Vivamus sit amet risus. Donec egestas.'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('199','Murphy','Wright','et.pede@aptenttacitisociosqu.ca','non arcu. Vivamus sit amet risus. Donec egestas.');
INSERT INTO users (code,first,last,email,quote) VALUES ('200','Omar','Campos','nunc.ac.mattis@luctussitamet.edu','parturient'); INSERT INTO sample_users (code,first,last,email,quote) VALUES ('200','Omar','Campos','nunc.ac.mattis@luctussitamet.edu','parturient');
UPDATE users SET login = lower(first || '.' || last);</value> UPDATE sample_users SET login = lower(first || '.' || last);</value>
</data> </data>
</root> </root>

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -30,16 +30,16 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using DynamORM.Builders; using DynamORM.Builders;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Select namespace DynamORM.Tests.Select
{ {
/// <summary>Test standard dynamic access ORM.</summary> /// <summary>Test standard dynamic access ORM.</summary>
[TestClass] [TestFixture]
public class DynamicAccessTests : TestsBase public class DynamicAccessTests : TestsBase
{ {
/// <summary>Setup test parameters.</summary> /// <summary>Setup test parameters.</summary>
[TestInitialize] [SetUp]
public virtual void SetUp() public virtual void SetUp()
{ {
CreateTestDatabase(); CreateTestDatabase();
@@ -47,7 +47,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Tear down test objects.</summary> /// <summary>Tear down test objects.</summary>
[TestCleanup] [TearDown]
public virtual void TearDown() public virtual void TearDown()
{ {
DestroyDynamicDatabase(); DestroyDynamicDatabase();
@@ -58,41 +58,41 @@ namespace DynamORM.Tests.Select
/// <returns>Dynamic table.</returns> /// <returns>Dynamic table.</returns>
public virtual dynamic GetTestTable() public virtual dynamic GetTestTable()
{ {
return Database.Table("users"); return Database.Table("sample_users");
} }
/// <summary>Create table using specified method.</summary> /// <summary>Create table using specified method.</summary>
/// <returns>Dynamic table.</returns> /// <returns>Dynamic table.</returns>
public virtual IDynamicSelectQueryBuilder GetTestBuilder() public virtual IDynamicSelectQueryBuilder GetTestBuilder()
{ {
return Database.Table("users").Query() as IDynamicSelectQueryBuilder; return Database.Table("sample_users").Query() as IDynamicSelectQueryBuilder;
} }
#region Select #region Select
/// <summary>Test unknown op.</summary> /// <summary>Test unknown op.</summary>
[TestMethod] [Test]
public void TestUnknownOperation() public void TestUnknownOperation()
{ {
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch(with: "cheese")); Assert.Throws<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch(with: "cheese"));
} }
/// <summary>Test dynamic <c>Count</c> method.</summary> /// <summary>Test dynamic <c>Count</c> method.</summary>
[TestMethod] [Test]
public void TestCount() public void TestCount()
{ {
Assert.AreEqual(200, GetTestTable().Count(columns: "id")); Assert.AreEqual(200, GetTestTable().Count(columns: "id"));
} }
/// <summary>Test dynamic <c>Count</c> method.</summary> /// <summary>Test dynamic <c>Count</c> method.</summary>
[TestMethod] [Test]
public void TestCount2() public void TestCount2()
{ {
Assert.AreEqual(200L, GetTestBuilder().Select(x => x.Count(x.id)).Scalar()); Assert.AreEqual(200L, GetTestBuilder().Select(x => x.Count(x.id)).Scalar());
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public void TestSelectInEnumerableCount() public void TestSelectInEnumerableCount()
{ {
Assert.AreEqual(4, GetTestTable().Count(last: new DynamicColumn Assert.AreEqual(4, GetTestTable().Count(last: new DynamicColumn
@@ -103,7 +103,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public void TestSelectInEnumerableCount2() public void TestSelectInEnumerableCount2()
{ {
Assert.AreEqual(4L, GetTestBuilder() Assert.AreEqual(4L, GetTestBuilder()
@@ -113,7 +113,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public void TestSelectInArrayCount() public void TestSelectInArrayCount()
{ {
Assert.AreEqual(4, GetTestTable().Count(last: new DynamicColumn Assert.AreEqual(4, GetTestTable().Count(last: new DynamicColumn
@@ -124,7 +124,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public void TestSelectInArrayCount2() public void TestSelectInArrayCount2()
{ {
Assert.AreEqual(4L, GetTestBuilder() Assert.AreEqual(4L, GetTestBuilder()
@@ -134,14 +134,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>First</c> method.</summary> /// <summary>Test dynamic <c>First</c> method.</summary>
[TestMethod] [Test]
public void TestFirst() public void TestFirst()
{ {
Assert.AreEqual(1, GetTestTable().First(columns: "id").id); Assert.AreEqual(1, GetTestTable().First(columns: "id").id);
} }
/// <summary>Test dynamic <c>First</c> method.</summary> /// <summary>Test dynamic <c>First</c> method.</summary>
[TestMethod] [Test]
public void TestFirst2() public void TestFirst2()
{ {
Assert.AreEqual(1, GetTestBuilder() Assert.AreEqual(1, GetTestBuilder()
@@ -151,14 +151,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Last</c> method.</summary> /// <summary>Test dynamic <c>Last</c> method.</summary>
[TestMethod] [Test]
public void TestLast() public void TestLast()
{ {
Assert.AreEqual(200, GetTestTable().Last(columns: "id").id); Assert.AreEqual(200, GetTestTable().Last(columns: "id").id);
} }
/// <summary>Test dynamic <c>Last</c> method.</summary> /// <summary>Test dynamic <c>Last</c> method.</summary>
[TestMethod] [Test]
public void TestLast2() public void TestLast2()
{ {
Assert.AreEqual(200, GetTestBuilder() Assert.AreEqual(200, GetTestBuilder()
@@ -168,14 +168,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Count</c> method.</summary> /// <summary>Test dynamic <c>Count</c> method.</summary>
[TestMethod] [Test]
public void TestCountSpecificRecord() public void TestCountSpecificRecord()
{ {
Assert.AreEqual(1, GetTestTable().Count(first: "Ori")); Assert.AreEqual(1, GetTestTable().Count(first: "Ori"));
} }
/// <summary>Test dynamic <c>Count</c> method.</summary> /// <summary>Test dynamic <c>Count</c> method.</summary>
[TestMethod] [Test]
public void TestCountSpecificRecord2() public void TestCountSpecificRecord2()
{ {
Assert.AreEqual(1L, GetTestBuilder() Assert.AreEqual(1L, GetTestBuilder()
@@ -185,14 +185,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Min</c> method.</summary> /// <summary>Test dynamic <c>Min</c> method.</summary>
[TestMethod] [Test]
public void TestMin() public void TestMin()
{ {
Assert.AreEqual(1, GetTestTable().Min(columns: "id")); Assert.AreEqual(1, GetTestTable().Min(columns: "id"));
} }
/// <summary>Test dynamic <c>Min</c> method.</summary> /// <summary>Test dynamic <c>Min</c> method.</summary>
[TestMethod] [Test]
public void TestMin2() public void TestMin2()
{ {
Assert.AreEqual(1L, GetTestBuilder() Assert.AreEqual(1L, GetTestBuilder()
@@ -201,14 +201,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Min</c> method.</summary> /// <summary>Test dynamic <c>Min</c> method.</summary>
[TestMethod] [Test]
public void TestMax() public void TestMax()
{ {
Assert.AreEqual(200, GetTestTable().Max(columns: "id")); Assert.AreEqual(200, GetTestTable().Max(columns: "id"));
} }
/// <summary>Test dynamic <c>Min</c> method.</summary> /// <summary>Test dynamic <c>Min</c> method.</summary>
[TestMethod] [Test]
public void TestMax2() public void TestMax2()
{ {
Assert.AreEqual(200L, GetTestBuilder() Assert.AreEqual(200L, GetTestBuilder()
@@ -217,14 +217,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Min</c> method.</summary> /// <summary>Test dynamic <c>Min</c> method.</summary>
[TestMethod] [Test]
public void TesttAvg() public void TesttAvg()
{ {
Assert.AreEqual(100.5, GetTestTable().Avg(columns: "id")); Assert.AreEqual(100.5, GetTestTable().Avg(columns: "id"));
} }
/// <summary>Test dynamic <c>Min</c> method.</summary> /// <summary>Test dynamic <c>Min</c> method.</summary>
[TestMethod] [Test]
public void TesttAvg2() public void TesttAvg2()
{ {
Assert.AreEqual(100.5, GetTestBuilder() Assert.AreEqual(100.5, GetTestBuilder()
@@ -233,14 +233,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Sum</c> method.</summary> /// <summary>Test dynamic <c>Sum</c> method.</summary>
[TestMethod] [Test]
public void TestSum() public void TestSum()
{ {
Assert.AreEqual(20100, GetTestTable().Sum(columns: "id")); Assert.AreEqual(20100, GetTestTable().Sum(columns: "id"));
} }
/// <summary>Test dynamic <c>Sum</c> method.</summary> /// <summary>Test dynamic <c>Sum</c> method.</summary>
[TestMethod] [Test]
public void TestSum2() public void TestSum2()
{ {
Assert.AreEqual(20100L, GetTestBuilder() Assert.AreEqual(20100L, GetTestBuilder()
@@ -249,21 +249,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Scalar</c> method for invalid operation exception.</summary> /// <summary>Test dynamic <c>Scalar</c> method for invalid operation exception.</summary>
[TestMethod] [Test]
public void TestScalarException() public void TestScalarException()
{ {
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().Scalar(id: 19)); Assert.Throws<InvalidOperationException>(() => GetTestTable().Scalar(id: 19));
} }
/// <summary>Test dynamic <c>Scalar</c> method.</summary> /// <summary>Test dynamic <c>Scalar</c> method.</summary>
[TestMethod] [Test]
public void TestScalar() public void TestScalar()
{ {
Assert.AreEqual("Ori", GetTestTable().Scalar(columns: "first", id: 19)); Assert.AreEqual("Ori", GetTestTable().Scalar(columns: "first", id: 19));
} }
/// <summary>Test dynamic <c>Scalar</c> method.</summary> /// <summary>Test dynamic <c>Scalar</c> method.</summary>
[TestMethod] [Test]
public void TestScalar2() public void TestScalar2()
{ {
Assert.AreEqual("Ori", GetTestBuilder() Assert.AreEqual("Ori", GetTestBuilder()
@@ -273,21 +273,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Scalar</c> method with SQLite specific aggregate.</summary> /// <summary>Test dynamic <c>Scalar</c> method with SQLite specific aggregate.</summary>
[TestMethod] [Test]
public void TestScalarGroupConcat() public void TestScalarGroupConcat()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat("first") AS first from "users" where "id" < 20; // select group_concat("first") AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestTable().Scalar(columns: "first:first:group_concat", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 })); GetTestTable().Scalar(columns: "first:first:group_concat", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 }));
} }
/// <summary>Test dynamic <c>Scalar</c> method with SQLite specific aggregate.</summary> /// <summary>Test dynamic <c>Scalar</c> method with SQLite specific aggregate.</summary>
[TestMethod] [Test]
public void TestScalarGroupConcat2() public void TestScalarGroupConcat2()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat("first") AS first from "users" where "id" < 20; // select group_concat("first") AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestBuilder() GetTestBuilder()
.Where(x => x.id < 20) .Where(x => x.id < 20)
@@ -296,21 +296,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary> /// <summary>Test dynamic <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary>
[TestMethod] [Test]
public void TestScalarGroupConcatNoAggregateField() public void TestScalarGroupConcatNoAggregateField()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat(first) AS first from "users" where "id" < 20; // select group_concat(first) AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestTable().Scalar(columns: "group_concat(first):first", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 })); GetTestTable().Scalar(columns: "group_concat(first):first", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 }));
} }
/// <summary>Test dynamic <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary> /// <summary>Test dynamic <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary>
[TestMethod] [Test]
public void TestScalarGroupConcatNoAggregateField2() public void TestScalarGroupConcatNoAggregateField2()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat(first) AS first from "users" where "id" < 20; // select group_concat(first) AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestBuilder() GetTestBuilder()
.Where(x => x.id < 20) .Where(x => x.id < 20)
@@ -318,8 +318,8 @@ namespace DynamORM.Tests.Select
.Scalar()); .Scalar());
} }
/// <summary>Test something fancy... like: <code>select "first", count("first") occurs from "users" group by "first" order by 2 desc;</code>.</summary> /// <summary>Test something fancy... like: <code>select "first", count("first") occurs from "sample_users" group by "first" order by 2 desc;</code>.</summary>
[TestMethod] [Test]
public void TestFancyAggregateQuery() public void TestFancyAggregateQuery()
{ {
var v = (GetTestTable().Query(columns: "first,first:occurs:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList(); var v = (GetTestTable().Query(columns: "first,first:occurs:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList();
@@ -333,8 +333,8 @@ namespace DynamORM.Tests.Select
Assert.AreEqual(1, v.Last().occurs); Assert.AreEqual(1, v.Last().occurs);
} }
/// <summary>Test something fancy... like: <code>select "first", count("first") occurs from "users" group by "first" order by 2 desc;</code>.</summary> /// <summary>Test something fancy... like: <code>select "first", count("first") occurs from "sample_users" group by "first" order by 2 desc;</code>.</summary>
[TestMethod] [Test]
public void TestFancyAggregateQuery2() public void TestFancyAggregateQuery2()
{ {
var v = GetTestBuilder() var v = GetTestBuilder()
@@ -353,15 +353,15 @@ namespace DynamORM.Tests.Select
Assert.AreEqual(1, v.Last().occurs); Assert.AreEqual(1, v.Last().occurs);
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public void TestAggregateInAggregate() public void TestAggregateInAggregate()
{ {
Assert.AreEqual(12.77, GetTestTable().Scalar(columns: @"length(""login""):len:avg")); Assert.AreEqual(12.77, GetTestTable().Scalar(columns: @"length(""login""):len:avg"));
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public void TestAggregateInAggregate2() public void TestAggregateInAggregate2()
{ {
Assert.AreEqual(12.77, GetTestBuilder() Assert.AreEqual(12.77, GetTestBuilder()
@@ -369,15 +369,15 @@ namespace DynamORM.Tests.Select
.Scalar()); .Scalar());
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public void TestAggregateInAggregateMark2() public void TestAggregateInAggregateMark2()
{ {
Assert.AreEqual(27.7, GetTestTable().Avg(columns: @"length(""email""):len")); Assert.AreEqual(27.7, GetTestTable().Avg(columns: @"length(""email""):len"));
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public void TestAggregateInAggregateMark3() public void TestAggregateInAggregateMark3()
{ {
Assert.AreEqual(27.7, GetTestBuilder() Assert.AreEqual(27.7, GetTestBuilder()
@@ -385,7 +385,7 @@ namespace DynamORM.Tests.Select
.Scalar()); .Scalar());
} }
/// <summary>Test emails longer than 27 chars. <code>select count(*) from "users" where length("email") > 27;</code>.</summary> /// <summary>Test emails longer than 27 chars. <code>select count(*) from "sample_users" where length("email") > 27;</code>.</summary>
public void TestFunctionInWhere() public void TestFunctionInWhere()
{ {
Assert.AreEqual(97, Assert.AreEqual(97,
@@ -399,7 +399,7 @@ namespace DynamORM.Tests.Select
})); }));
} }
/// <summary>Test emails longer than 27 chars. <code>select count(*) from "users" where length("email") > 27;</code>.</summary> /// <summary>Test emails longer than 27 chars. <code>select count(*) from "sample_users" where length("email") > 27;</code>.</summary>
public void TestFunctionInWhere2() public void TestFunctionInWhere2()
{ {
Assert.AreEqual(97, GetTestBuilder() Assert.AreEqual(97, GetTestBuilder()
@@ -409,7 +409,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Single</c> multi.</summary> /// <summary>Test dynamic <c>Single</c> multi.</summary>
[TestMethod] [Test]
public void TestSingleObject() public void TestSingleObject()
{ {
var exp = new { id = 19, first = "Ori", last = "Ellis" }; var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -421,7 +421,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic <c>Single</c> multi.</summary> /// <summary>Test dynamic <c>Single</c> multi.</summary>
[TestMethod] [Test]
public void TestSingleObject2() public void TestSingleObject2()
{ {
var exp = new { id = 19, first = "Ori", last = "Ellis" }; var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -437,10 +437,10 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic duplicate column name occurrence.</summary> /// <summary>Test dynamic duplicate column name occurrence.</summary>
[TestMethod] [Test]
public void TestDuplicateColumnNameException() public void TestDuplicateColumnNameException()
{ {
Assert.ThrowsException<ArgumentException>(() => GetTestBuilder() Assert.Throws<ArgumentException>(() => GetTestBuilder()
.Where(x => x.id == 19) .Where(x => x.id == 19)
.Select(x => new .Select(x => new
{ {
@@ -458,14 +458,14 @@ namespace DynamORM.Tests.Select
#region Where #region Where
/// <summary>Test dynamic where expression equal.</summary> /// <summary>Test dynamic where expression equal.</summary>
[TestMethod] [Test]
public void TestWhereEq() public void TestWhereEq()
{ {
Assert.AreEqual("hoyt.tran", GetTestTable().Single(where: new DynamicColumn("id").Eq(100)).login); Assert.AreEqual("hoyt.tran", GetTestTable().Single(where: new DynamicColumn("id").Eq(100)).login);
} }
/// <summary>Test dynamic where expression equal.</summary> /// <summary>Test dynamic where expression equal.</summary>
[TestMethod] [Test]
public void TestWhereEq2() public void TestWhereEq2()
{ {
Assert.AreEqual("hoyt.tran", GetTestBuilder() Assert.AreEqual("hoyt.tran", GetTestBuilder()
@@ -473,14 +473,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression not equal.</summary> /// <summary>Test dynamic where expression not equal.</summary>
[TestMethod] [Test]
public void TestWhereNot() public void TestWhereNot()
{ {
Assert.AreEqual(199, GetTestTable().Count(where: new DynamicColumn("id").Not(100))); Assert.AreEqual(199, GetTestTable().Count(where: new DynamicColumn("id").Not(100)));
} }
/// <summary>Test dynamic where expression not equal.</summary> /// <summary>Test dynamic where expression not equal.</summary>
[TestMethod] [Test]
public void TestWhereNot2() public void TestWhereNot2()
{ {
Assert.AreEqual(199L, GetTestBuilder() Assert.AreEqual(199L, GetTestBuilder()
@@ -490,14 +490,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression like.</summary> /// <summary>Test dynamic where expression like.</summary>
[TestMethod] [Test]
public void TestWhereLike() public void TestWhereLike()
{ {
Assert.AreEqual(100, GetTestTable().Single(where: new DynamicColumn("login").Like("Hoyt.%")).id); Assert.AreEqual(100, GetTestTable().Single(where: new DynamicColumn("login").Like("Hoyt.%")).id);
} }
/// <summary>Test dynamic where expression like.</summary> /// <summary>Test dynamic where expression like.</summary>
[TestMethod] [Test]
public void TestWhereLike2() public void TestWhereLike2()
{ {
Assert.AreEqual(100, GetTestBuilder() Assert.AreEqual(100, GetTestBuilder()
@@ -505,14 +505,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression not like.</summary> /// <summary>Test dynamic where expression not like.</summary>
[TestMethod] [Test]
public void TestWhereNotLike() public void TestWhereNotLike()
{ {
Assert.AreEqual(199, GetTestTable().Count(where: new DynamicColumn("login").NotLike("Hoyt.%"))); Assert.AreEqual(199, GetTestTable().Count(where: new DynamicColumn("login").NotLike("Hoyt.%")));
} }
/// <summary>Test dynamic where expression not like.</summary> /// <summary>Test dynamic where expression not like.</summary>
[TestMethod] [Test]
public void TestWhereNotLike2() public void TestWhereNotLike2()
{ {
Assert.AreEqual(199L, GetTestBuilder() Assert.AreEqual(199L, GetTestBuilder()
@@ -522,7 +522,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression not like.</summary> /// <summary>Test dynamic where expression not like.</summary>
[TestMethod] [Test]
public void TestWhereNotLike3() public void TestWhereNotLike3()
{ {
Assert.AreEqual(199L, GetTestBuilder() Assert.AreEqual(199L, GetTestBuilder()
@@ -532,14 +532,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression greater.</summary> /// <summary>Test dynamic where expression greater.</summary>
[TestMethod] [Test]
public void TestWhereGt() public void TestWhereGt()
{ {
Assert.AreEqual(100, GetTestTable().Count(where: new DynamicColumn("id").Greater(100))); Assert.AreEqual(100, GetTestTable().Count(where: new DynamicColumn("id").Greater(100)));
} }
/// <summary>Test dynamic where expression greater.</summary> /// <summary>Test dynamic where expression greater.</summary>
[TestMethod] [Test]
public void TestWhereGt2() public void TestWhereGt2()
{ {
Assert.AreEqual(100L, GetTestBuilder() Assert.AreEqual(100L, GetTestBuilder()
@@ -549,14 +549,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression greater or equal.</summary> /// <summary>Test dynamic where expression greater or equal.</summary>
[TestMethod] [Test]
public void TestWhereGte() public void TestWhereGte()
{ {
Assert.AreEqual(101, GetTestTable().Count(where: new DynamicColumn("id").GreaterOrEqual(100))); Assert.AreEqual(101, GetTestTable().Count(where: new DynamicColumn("id").GreaterOrEqual(100)));
} }
/// <summary>Test dynamic where expression greater or equal.</summary> /// <summary>Test dynamic where expression greater or equal.</summary>
[TestMethod] [Test]
public void TestWhereGte2() public void TestWhereGte2()
{ {
Assert.AreEqual(101L, GetTestBuilder() Assert.AreEqual(101L, GetTestBuilder()
@@ -566,14 +566,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression less.</summary> /// <summary>Test dynamic where expression less.</summary>
[TestMethod] [Test]
public void TestWhereLt() public void TestWhereLt()
{ {
Assert.AreEqual(99, GetTestTable().Count(where: new DynamicColumn("id").Less(100))); Assert.AreEqual(99, GetTestTable().Count(where: new DynamicColumn("id").Less(100)));
} }
/// <summary>Test dynamic where expression less.</summary> /// <summary>Test dynamic where expression less.</summary>
[TestMethod] [Test]
public void TestWhereLt2() public void TestWhereLt2()
{ {
Assert.AreEqual(99L, GetTestBuilder() Assert.AreEqual(99L, GetTestBuilder()
@@ -583,14 +583,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression less or equal.</summary> /// <summary>Test dynamic where expression less or equal.</summary>
[TestMethod] [Test]
public void TestWhereLte() public void TestWhereLte()
{ {
Assert.AreEqual(100, GetTestTable().Count(where: new DynamicColumn("id").LessOrEqual(100))); Assert.AreEqual(100, GetTestTable().Count(where: new DynamicColumn("id").LessOrEqual(100)));
} }
/// <summary>Test dynamic where expression less or equal.</summary> /// <summary>Test dynamic where expression less or equal.</summary>
[TestMethod] [Test]
public void TestWhereLte2() public void TestWhereLte2()
{ {
Assert.AreEqual(100L, GetTestBuilder() Assert.AreEqual(100L, GetTestBuilder()
@@ -600,14 +600,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression between.</summary> /// <summary>Test dynamic where expression between.</summary>
[TestMethod] [Test]
public void TestWhereBetween() public void TestWhereBetween()
{ {
Assert.AreEqual(26, GetTestTable().Count(where: new DynamicColumn("id").Between(75, 100))); Assert.AreEqual(26, GetTestTable().Count(where: new DynamicColumn("id").Between(75, 100)));
} }
/// <summary>Test dynamic where expression between.</summary> /// <summary>Test dynamic where expression between.</summary>
[TestMethod] [Test]
public void TestWhereBetween2() public void TestWhereBetween2()
{ {
Assert.AreEqual(26L, GetTestBuilder() Assert.AreEqual(26L, GetTestBuilder()
@@ -617,21 +617,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression in parameters.</summary> /// <summary>Test dynamic where expression in parameters.</summary>
[TestMethod] [Test]
public void TestWhereIn1() public void TestWhereIn1()
{ {
Assert.AreEqual(3, GetTestTable().Count(where: new DynamicColumn("id").In(75, 99, 100))); Assert.AreEqual(3, GetTestTable().Count(where: new DynamicColumn("id").In(75, 99, 100)));
} }
/// <summary>Test dynamic where expression in array.</summary> /// <summary>Test dynamic where expression in array.</summary>
[TestMethod] [Test]
public void TestWhereIn2() public void TestWhereIn2()
{ {
Assert.AreEqual(3, GetTestTable().Count(where: new DynamicColumn("id").In(new[] { 75, 99, 100 }))); Assert.AreEqual(3, GetTestTable().Count(where: new DynamicColumn("id").In(new[] { 75, 99, 100 })));
} }
/// <summary>Test dynamic where expression in parameters.</summary> /// <summary>Test dynamic where expression in parameters.</summary>
[TestMethod] [Test]
public void TestWhereIn3() public void TestWhereIn3()
{ {
Assert.AreEqual(3L, GetTestBuilder() Assert.AreEqual(3L, GetTestBuilder()
@@ -641,7 +641,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test dynamic where expression in parameters.</summary> /// <summary>Test dynamic where expression in parameters.</summary>
[TestMethod] [Test]
public void TestWhereIn4() public void TestWhereIn4()
{ {
Assert.AreEqual(3L, GetTestBuilder() Assert.AreEqual(3L, GetTestBuilder()

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -26,16 +26,16 @@
* THE POSSIBILITY OF SUCH DAMAGE. * THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Select namespace DynamORM.Tests.Select
{ {
/// <summary>Test standard dynamic access ORM. With out schema information from database.</summary> /// <summary>Test standard dynamic access ORM. With out schema information from database.</summary>
[TestClass] [TestFixture]
public class DynamicNoSchemaAccessTests : DynamicAccessTests public class DynamicNoSchemaAccessTests : DynamicAccessTests
{ {
/// <summary>Setup test parameters.</summary> /// <summary>Setup test parameters.</summary>
[TestInitialize] [SetUp]
public override void SetUp() public override void SetUp()
{ {
CreateTestDatabase(); CreateTestDatabase();
@@ -49,7 +49,7 @@ namespace DynamORM.Tests.Select
/// <returns>Dynamic table.</returns> /// <returns>Dynamic table.</returns>
public override dynamic GetTestTable() public override dynamic GetTestTable()
{ {
return Database.Table("users", new string[] { "id" }); return Database.Table("sample_users", new string[] { "id" });
} }
} }
} }

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -27,19 +27,19 @@
*/ */
using DynamORM.Tests.Helpers; using DynamORM.Tests.Helpers;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Select namespace DynamORM.Tests.Select
{ {
/// <summary>Test standard dynamic access ORM. With out schema information from database.</summary> /// <summary>Test standard dynamic access ORM. With out schema information from database.</summary>
[TestClass] [TestFixture]
public class DynamicTypeSchemaAccessTests : DynamicNoSchemaAccessTests public class DynamicTypeSchemaAccessTests : DynamicNoSchemaAccessTests
{ {
/// <summary>Create table using specified method.</summary> /// <summary>Create table using specified method.</summary>
/// <returns>Dynamic table.</returns> /// <returns>Dynamic table.</returns>
public override dynamic GetTestTable() public override dynamic GetTestTable()
{ {
return Database.Table<users>(); return Database.Table<sample_users>();
} }
} }
} }

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -29,16 +29,16 @@
using System.Linq; using System.Linq;
using DynamORM.Builders; using DynamORM.Builders;
using DynamORM.Builders.Implementation; using DynamORM.Builders.Implementation;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Select namespace DynamORM.Tests.Select
{ {
/// <summary>Tests of legacy parser methods.</summary> /// <summary>Tests of legacy parser methods.</summary>
[TestClass] [TestFixture]
public class LegacyParserTests : TestsBase public class LegacyParserTests : TestsBase
{ {
/// <summary>Setup test parameters.</summary> /// <summary>Setup test parameters.</summary>
[TestInitialize] [SetUp]
public virtual void SetUp() public virtual void SetUp()
{ {
CreateTestDatabase(); CreateTestDatabase();
@@ -49,7 +49,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Tear down test objects.</summary> /// <summary>Tear down test objects.</summary>
[TestCleanup] [TearDown]
public virtual void TearDown() public virtual void TearDown()
{ {
DestroyDynamicDatabase(); DestroyDynamicDatabase();
@@ -59,7 +59,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression equal. /// Tests the where expression equal.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereEq() public void TestWhereEq()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -73,7 +73,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression equal with brackets. /// Tests the where expression equal with brackets.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereBracketsEq() public void TestWhereBracketsEq()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -88,7 +88,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression equal with brackets and or condition. /// Tests the where expression equal with brackets and or condition.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereBracketsOrEq() public void TestWhereBracketsOrEq()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -103,7 +103,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression equal with brackets. /// Tests the where expression equal with brackets.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereBracketsOrEq2() public void TestWhereBracketsOrEq2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -120,7 +120,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression equal with brackets. /// Tests the where expression equal with brackets.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereBracketsOrEqForgotToEnd() public void TestWhereBracketsOrEqForgotToEnd()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -139,7 +139,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression not equal. /// Tests the where expression not equal.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereNotEq() public void TestWhereNotEq()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -153,7 +153,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression greater. /// Tests the where expression greater.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereGreater() public void TestWhereGreater()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -167,7 +167,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression greater or equal. /// Tests the where expression greater or equal.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereGreaterOrEqual() public void TestWhereGreaterOrEqual()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -181,7 +181,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression less. /// Tests the where expression less.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereLess() public void TestWhereLess()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -195,7 +195,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression less or equal. /// Tests the where expression less or equal.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereLessOrEqual() public void TestWhereLessOrEqual()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -209,7 +209,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression like. /// Tests the where expression like.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereLike() public void TestWhereLike()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -223,7 +223,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression not like. /// Tests the where expression not like.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereNotLike() public void TestWhereNotLike()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -237,7 +237,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression between. /// Tests the where expression between.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereBetween() public void TestWhereBetween()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -251,7 +251,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression in. /// Tests the where expression in.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereIn() public void TestWhereIn()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -265,7 +265,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the where expression using anonymous types. /// Tests the where expression using anonymous types.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereAnon() public void TestWhereAnon()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -279,7 +279,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the order by column. /// Tests the order by column.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestOrderByCol() public void TestOrderByCol()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -293,7 +293,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the order by column number. /// Tests the order by column number.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestOrderByNum() public void TestOrderByNum()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -307,7 +307,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests the group by column. /// Tests the group by column.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestGroupByCol() public void TestGroupByCol()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -30,18 +30,18 @@ using System.Linq;
using DynamORM.Builders; using DynamORM.Builders;
using DynamORM.Builders.Implementation; using DynamORM.Builders.Implementation;
using DynamORM.Tests.Helpers; using DynamORM.Tests.Helpers;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Select namespace DynamORM.Tests.Select
{ {
/// <summary> /// <summary>
/// New parser tests. /// New parser tests.
/// </summary> /// </summary>
[TestClass] [TestFixture]
public class ParserTests : TestsBase public class ParserTests : TestsBase
{ {
/// <summary>Setup test parameters.</summary> /// <summary>Setup test parameters.</summary>
[TestInitialize] [SetUp]
public virtual void SetUp() public virtual void SetUp()
{ {
CreateTestDatabase(); CreateTestDatabase();
@@ -53,7 +53,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Tear down test objects.</summary> /// <summary>Tear down test objects.</summary>
[TestCleanup] [TearDown]
public virtual void TearDown() public virtual void TearDown()
{ {
try try
@@ -67,7 +67,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method. /// Tests from method.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromGet() public void TestFromGet()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -79,29 +79,29 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from typed method. /// Tests from typed method.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromGetTyped() public void TestFromGetTyped()
{ {
IDynamicSelectQueryBuilder cmd = Database.From<Users>(); IDynamicSelectQueryBuilder cmd = Database.From<Users>();
Assert.AreEqual("SELECT * FROM \"users\"", cmd.CommandText()); Assert.AreEqual("SELECT * FROM \"sample_users\"", cmd.CommandText());
} }
/// <summary> /// <summary>
/// Tests from typed method. /// Tests from typed method.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromGetTypedAs() public void TestFromGetTypedAs()
{ {
IDynamicSelectQueryBuilder cmd = Database.From<Users>("u"); IDynamicSelectQueryBuilder cmd = Database.From<Users>("u");
Assert.AreEqual("SELECT * FROM \"users\" AS u", cmd.CommandText()); Assert.AreEqual("SELECT * FROM \"sample_users\" AS u", cmd.CommandText());
} }
/// <summary> /// <summary>
/// Tests from method with multi tables. /// Tests from method with multi tables.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromGetMultiKulti() public void TestFromGetMultiKulti()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -113,7 +113,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method with as expression in text. /// Tests from method with as expression in text.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromGetAs1() public void TestFromGetAs1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -125,7 +125,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method with as expression in text. /// Tests from method with as expression in text.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromGetAsNoLock1() public void TestFromGetAsNoLock1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -137,7 +137,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method with as expression using lambda. /// Tests from method with as expression using lambda.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromGetAs2() public void TestFromGetAs2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -149,7 +149,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using text. /// Tests from method using text.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromText() public void TestFromText()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -161,7 +161,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using text with decorators. /// Tests from method using text with decorators.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromDecoratedText() public void TestFromDecoratedText()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -173,7 +173,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using text with as. /// Tests from method using text with as.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromTextAs1() public void TestFromTextAs1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -185,7 +185,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using invoke with as. /// Tests from method using invoke with as.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromTextAs2() public void TestFromTextAs2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -198,7 +198,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using invoke with as. /// Tests from method using invoke with as.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromTextAs3() public void TestFromTextAs3()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -211,7 +211,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using invoke with sub query. /// Tests from method using invoke with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromSubQuery1() public void TestFromSubQuery1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -224,7 +224,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using invoke with sub query. /// Tests from method using invoke with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromSubQuery2() public void TestFromSubQuery2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -237,7 +237,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using invoke with sub query. /// Tests from method using invoke with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromSubQuery3() public void TestFromSubQuery3()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -250,7 +250,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using invoke with sub query. /// Tests from method using invoke with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestFromSubQuery4() public void TestFromSubQuery4()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -263,7 +263,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests where method with alias. /// Tests where method with alias.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereAlias() public void TestWhereAlias()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -277,7 +277,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests where method with alias. /// Tests where method with alias.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestHavingAlias() public void TestHavingAlias()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -291,7 +291,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests complex where method with alias. /// Tests complex where method with alias.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereAliasComplex() public void TestWhereAliasComplex()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -307,7 +307,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests where method with alias using in. /// Tests where method with alias using in.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereAliasIn() public void TestWhereAliasIn()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -327,7 +327,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests where method with alias using between. /// Tests where method with alias using between.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereAliasBetween1() public void TestWhereAliasBetween1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -347,7 +347,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests where method with alias using between. /// Tests where method with alias using between.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereAliasBetween2() public void TestWhereAliasBetween2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -367,7 +367,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests where method without alias. /// Tests where method without alias.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereNoAlias() public void TestWhereNoAlias()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -381,7 +381,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests where method with full column name. /// Tests where method with full column name.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestWhereNoAliasTableName() public void TestWhereNoAliasTableName()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -395,7 +395,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests simple join method. /// Tests simple join method.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestJoinClassic() public void TestJoinClassic()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -409,7 +409,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests inner join method. /// Tests inner join method.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInnerJoin() public void TestInnerJoin()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -423,7 +423,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests inner join method with aliases mix. /// Tests inner join method with aliases mix.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInnerJoin2() public void TestInnerJoin2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -438,7 +438,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using invoke with sub query. /// Tests from method using invoke with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInnerJoin3() public void TestInnerJoin3()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -453,7 +453,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using invoke with sub query. /// Tests from method using invoke with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInnerJoin4() public void TestInnerJoin4()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -468,7 +468,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests from method using invoke with sub query an no lock. /// Tests from method using invoke with sub query an no lock.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInnerJoin5() public void TestInnerJoin5()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -483,7 +483,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests inner join method with no lock. /// Tests inner join method with no lock.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestInnerJoin6() public void TestInnerJoin6()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -497,7 +497,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests left outer join method. /// Tests left outer join method.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestLeftOuterJoin() public void TestLeftOuterJoin()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -511,7 +511,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests left join method. /// Tests left join method.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestLeftJoin() public void TestLeftJoin()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -525,7 +525,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests right outer join method. /// Tests right outer join method.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestRightOuterJoin() public void TestRightOuterJoin()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -539,7 +539,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests right join method. /// Tests right join method.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestRightJoin() public void TestRightJoin()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -553,7 +553,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests complex join with parameters. /// Tests complex join with parameters.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestJoinClassicWithParamAndWhere() public void TestJoinClassicWithParamAndWhere()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -569,7 +569,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select all. /// Tests select all.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectAll1() public void TestSelectAll1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -583,7 +583,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select all. /// Tests select all.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectAll2() public void TestSelectAll2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -597,7 +597,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select field. /// Tests select field.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectField1() public void TestSelectField1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -611,7 +611,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select field. /// Tests select field.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectField2() public void TestSelectField2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -625,7 +625,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select field with alias. /// Tests select field with alias.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectFieldAlias1() public void TestSelectFieldAlias1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -639,7 +639,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select field with alias. /// Tests select field with alias.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectFieldAlias2() public void TestSelectFieldAlias2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -653,7 +653,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select field with alias. /// Tests select field with alias.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectFieldAlias3() public void TestSelectFieldAlias3()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -667,7 +667,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select field with alias. /// Tests select field with alias.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectFieldAlias4() public void TestSelectFieldAlias4()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -681,7 +681,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select aggregate field with alias (Sum). /// Tests select aggregate field with alias (Sum).
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectAggregateField1() public void TestSelectAggregateField1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -695,7 +695,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select aggregate field with alias (Coalesce). /// Tests select aggregate field with alias (Coalesce).
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectAggregateField2() public void TestSelectAggregateField2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -710,7 +710,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select aggregate field with alias (Sum). /// Tests select aggregate field with alias (Sum).
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectAggregateField3() public void TestSelectAggregateField3()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -724,7 +724,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select aggregate field with alias (Sum). /// Tests select aggregate field with alias (Sum).
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectAggregateField4() public void TestSelectAggregateField4()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -738,7 +738,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select aggregate field with alias (Sum). /// Tests select aggregate field with alias (Sum).
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectAggregateField5() public void TestSelectAggregateField5()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -752,7 +752,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select from anonymous type. /// Tests select from anonymous type.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectAnon() public void TestSelectAnon()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -770,7 +770,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select escaped case. /// Tests select escaped case.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectCaseEscaped1() public void TestSelectCaseEscaped1()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -785,7 +785,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select escaped case. /// Tests select escaped case.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectCaseEscaped2() public void TestSelectCaseEscaped2()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -800,7 +800,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select escaped case. /// Tests select escaped case.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestCoalesceEscaped() public void TestCoalesceEscaped()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -815,7 +815,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select escaped case. /// Tests select escaped case.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestCoalesce() public void TestCoalesce()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -830,7 +830,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select escaped case. /// Tests select escaped case.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestCoalesceCalculatedArgs() public void TestCoalesceCalculatedArgs()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -849,7 +849,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select escaped case. /// Tests select escaped case.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestCoalesceInWhere() public void TestCoalesceInWhere()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -865,7 +865,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests select escaped case with sub query. /// Tests select escaped case with sub query.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSelectCaseEscapedAndSub() public void TestSelectCaseEscapedAndSub()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -883,7 +883,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests group by. /// Tests group by.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestGroupBy() public void TestGroupBy()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -897,7 +897,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests order by. /// Tests order by.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestOrderBy() public void TestOrderBy()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -911,7 +911,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests order by using string with number. /// Tests order by using string with number.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestOrderByNumberedColumnStr() public void TestOrderByNumberedColumnStr()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -925,7 +925,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests order by using member with number. /// Tests order by using member with number.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestOrderByNumberedColFn() public void TestOrderByNumberedColFn()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -939,7 +939,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests order by using member with field. /// Tests order by using member with field.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestOrderByAlt() public void TestOrderByAlt()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -953,7 +953,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests sub query select. /// Tests sub query select.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSubQuerySelect() public void TestSubQuerySelect()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -970,7 +970,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests sub query where. /// Tests sub query where.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSubQueryWhere() public void TestSubQueryWhere()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -987,7 +987,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests sub query in. /// Tests sub query in.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSubQueryWhereIn() public void TestSubQueryWhereIn()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);
@@ -1004,7 +1004,7 @@ namespace DynamORM.Tests.Select
/// <summary> /// <summary>
/// Tests sub query join. /// Tests sub query join.
/// </summary> /// </summary>
[TestMethod] [Test]
public void TestSubQueryJoin() public void TestSubQueryJoin()
{ {
IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database); IDynamicSelectQueryBuilder cmd = new DynamicSelectQueryBuilder(Database);

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -29,16 +29,16 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using DynamORM.Tests.Helpers; using DynamORM.Tests.Helpers;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Select namespace DynamORM.Tests.Select
{ {
/// <summary>Test typed ORM.</summary> /// <summary>Test typed ORM.</summary>
[TestClass] [TestFixture]
public class RenamedTypedAccessTests : TypedAccessTests<Users> public class RenamedTypedAccessTests : TypedAccessTests<Users>
{ {
/// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "users" group by "first" order by 2 desc;</code>.</summary> /// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "sample_users" group by "first" order by 2 desc;</code>.</summary>
[TestMethod] [Test]
public override void TestTypedFancyAggregateQuery() public override void TestTypedFancyAggregateQuery()
{ {
var v = (GetTestTable().Query(type: typeof(Users), columns: "first,first:AggregateField:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList(); var v = (GetTestTable().Query(type: typeof(Users), columns: "first,first:AggregateField:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList();
@@ -52,8 +52,8 @@ namespace DynamORM.Tests.Select
Assert.AreEqual(1, v.Last().AggregateField); Assert.AreEqual(1, v.Last().AggregateField);
} }
/// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "users" group by "first" order by 2 desc;</code>.</summary> /// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "sample_users" group by "first" order by 2 desc;</code>.</summary>
[TestMethod] [Test]
public override void TestGenericFancyAggregateQuery() public override void TestGenericFancyAggregateQuery()
{ {
var v = (GetTestTable().Query<Users>(columns: "first,first:AggregateField:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList(); var v = (GetTestTable().Query<Users>(columns: "first,first:AggregateField:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList();
@@ -68,21 +68,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>First</c> method.</summary> /// <summary>Test typed <c>First</c> method.</summary>
[TestMethod] [Test]
public override void TestTypedFirst() public override void TestTypedFirst()
{ {
Assert.AreEqual(1, GetTestTable().First(type: typeof(Users), columns: "id").Id); Assert.AreEqual(1, GetTestTable().First(type: typeof(Users), columns: "id").Id);
} }
/// <summary>Test typed <c>Last</c> method.</summary> /// <summary>Test typed <c>Last</c> method.</summary>
[TestMethod] [Test]
public override void TestTypedLast() public override void TestTypedLast()
{ {
Assert.AreEqual(200, GetTestTable().Last(type: typeof(Users), columns: "id").Id); Assert.AreEqual(200, GetTestTable().Last(type: typeof(Users), columns: "id").Id);
} }
/// <summary>Test typed <c>Single</c> multi.</summary> /// <summary>Test typed <c>Single</c> multi.</summary>
[TestMethod] [Test]
public override void TestTypedSingleObject() public override void TestTypedSingleObject()
{ {
var exp = new { id = 19, first = "Ori", last = "Ellis" }; var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -94,35 +94,35 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression equal.</summary> /// <summary>Test typed where expression equal.</summary>
[TestMethod] [Test]
public override void TestTypedWhereEq() public override void TestTypedWhereEq()
{ {
Assert.AreEqual("hoyt.tran", GetTestTable().Single(type: typeof(Users), where: new DynamicColumn("id").Eq(100)).Login); Assert.AreEqual("hoyt.tran", GetTestTable().Single(type: typeof(Users), where: new DynamicColumn("id").Eq(100)).Login);
} }
/// <summary>Test typed where expression like.</summary> /// <summary>Test typed where expression like.</summary>
[TestMethod] [Test]
public override void TestTypedWhereLike() public override void TestTypedWhereLike()
{ {
Assert.AreEqual(100, GetTestTable().Single(type: typeof(Users), where: new DynamicColumn("login").Like("Hoyt.%")).Id); Assert.AreEqual(100, GetTestTable().Single(type: typeof(Users), where: new DynamicColumn("login").Like("Hoyt.%")).Id);
} }
/// <summary>Test generic <c>First</c> method.</summary> /// <summary>Test generic <c>First</c> method.</summary>
[TestMethod] [Test]
public override void TestGenericFirst() public override void TestGenericFirst()
{ {
Assert.AreEqual(1, GetTestTable().First<Users>(columns: "id").Id); Assert.AreEqual(1, GetTestTable().First<Users>(columns: "id").Id);
} }
/// <summary>Test generic <c>Last</c> method.</summary> /// <summary>Test generic <c>Last</c> method.</summary>
[TestMethod] [Test]
public override void TestGenericLast() public override void TestGenericLast()
{ {
Assert.AreEqual(200, GetTestTable().Last<Users>(columns: "id").Id); Assert.AreEqual(200, GetTestTable().Last<Users>(columns: "id").Id);
} }
/// <summary>Test generic <c>Single</c> multi.</summary> /// <summary>Test generic <c>Single</c> multi.</summary>
[TestMethod] [Test]
public override void TestGenericSingleObject() public override void TestGenericSingleObject()
{ {
var exp = new { id = 19, first = "Ori", last = "Ellis" }; var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -134,14 +134,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test generic where expression equal.</summary> /// <summary>Test generic where expression equal.</summary>
[TestMethod] [Test]
public override void TestGenericWhereEq() public override void TestGenericWhereEq()
{ {
Assert.AreEqual("hoyt.tran", GetTestTable().Single<Users>(where: new DynamicColumn("id").Eq(100)).Login); Assert.AreEqual("hoyt.tran", GetTestTable().Single<Users>(where: new DynamicColumn("id").Eq(100)).Login);
} }
/// <summary>Test generic where expression like.</summary> /// <summary>Test generic where expression like.</summary>
[TestMethod] [Test]
public override void TestGenericWhereLike() public override void TestGenericWhereLike()
{ {
Assert.AreEqual(100, GetTestTable().Single<Users>(where: new DynamicColumn("login").Like("Hoyt.%")).Id); Assert.AreEqual(100, GetTestTable().Single<Users>(where: new DynamicColumn("login").Like("Hoyt.%")).Id);

View File

@@ -1,4 +1,4 @@
/* /*
* DynamORM - Dynamic Object-Relational Mapping library. * DynamORM - Dynamic Object-Relational Mapping library.
* Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com) * Copyright (c) 2012-2026, Grzegorz Russek (grzegorz.russek@gmail.com)
* All rights reserved. * All rights reserved.
@@ -31,17 +31,17 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using DynamORM.Builders; using DynamORM.Builders;
using DynamORM.Tests.Helpers; using DynamORM.Tests.Helpers;
using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework;
namespace DynamORM.Tests.Select namespace DynamORM.Tests.Select
{ {
/// <summary>Test typed ORM.</summary> /// <summary>Test typed ORM.</summary>
/// <typeparam name="T">Type to test.</typeparam> /// <typeparam name="T">Type to test.</typeparam>
[TestClass] [TestFixture]
public class TypedAccessTests<T> : TestsBase where T : class public class TypedAccessTests<T> : TestsBase where T : class
{ {
/// <summary>Setup test parameters.</summary> /// <summary>Setup test parameters.</summary>
[TestInitialize] [SetUp]
public virtual void SetUp() public virtual void SetUp()
{ {
CreateTestDatabase(); CreateTestDatabase();
@@ -49,7 +49,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Tear down test objects.</summary> /// <summary>Tear down test objects.</summary>
[TestCleanup] [TearDown]
public virtual void TearDown() public virtual void TearDown()
{ {
DestroyDynamicDatabase(); DestroyDynamicDatabase();
@@ -73,7 +73,7 @@ namespace DynamORM.Tests.Select
#region Select typed #region Select typed
/// <summary>Test load all rows into mapped list alternate way.</summary> /// <summary>Test load all rows into mapped list alternate way.</summary>
[TestMethod] [Test]
public virtual void TestTypedGetAll() public virtual void TestTypedGetAll()
{ {
var list = (GetTestTable().Query(type: typeof(T)) as IEnumerable<object>).Cast<T>().ToList(); var list = (GetTestTable().Query(type: typeof(T)) as IEnumerable<object>).Cast<T>().ToList();
@@ -82,7 +82,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test load all rows into mapped list alternate way.</summary> /// <summary>Test load all rows into mapped list alternate way.</summary>
[TestMethod] [Test]
public virtual void TestTypedGetAll2() public virtual void TestTypedGetAll2()
{ {
var list = GetTestBuilder() var list = GetTestBuilder()
@@ -95,7 +95,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test load all rows into mapped list alternate way.</summary> /// <summary>Test load all rows into mapped list alternate way.</summary>
[TestMethod] [Test]
public virtual void TestTypedGetAll3() public virtual void TestTypedGetAll3()
{ {
var list = GetTestBuilder() var list = GetTestBuilder()
@@ -107,21 +107,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test unknown op.</summary> /// <summary>Test unknown op.</summary>
[TestMethod] [Test]
public virtual void TestTypedUnknownOperation() public virtual void TestTypedUnknownOperation()
{ {
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch(type: typeof(T), with: "cheese")); Assert.Throws<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch(type: typeof(T), with: "cheese"));
} }
/// <summary>Test typed <c>Count</c> method.</summary> /// <summary>Test typed <c>Count</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedCount() public virtual void TestTypedCount()
{ {
Assert.AreEqual(200, GetTestTable().Count(type: typeof(T), columns: "id")); Assert.AreEqual(200, GetTestTable().Count(type: typeof(T), columns: "id"));
} }
/// <summary>Test typed <c>Count</c> method.</summary> /// <summary>Test typed <c>Count</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedCount2() public virtual void TestTypedCount2()
{ {
Assert.AreEqual(200, GetTestBuilder() Assert.AreEqual(200, GetTestBuilder()
@@ -131,7 +131,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public virtual void TestTypedSelectInEnumerableCount() public virtual void TestTypedSelectInEnumerableCount()
{ {
Assert.AreEqual(4, GetTestTable().Count(type: typeof(T), last: new DynamicColumn Assert.AreEqual(4, GetTestTable().Count(type: typeof(T), last: new DynamicColumn
@@ -142,7 +142,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public virtual void TestTypedSelectInEnumerableCount2() public virtual void TestTypedSelectInEnumerableCount2()
{ {
Assert.AreEqual(4, GetTestBuilder() Assert.AreEqual(4, GetTestBuilder()
@@ -153,7 +153,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public virtual void TestTypedSelectInArrayCount() public virtual void TestTypedSelectInArrayCount()
{ {
Assert.AreEqual(4, GetTestTable().Count(type: typeof(T), last: new DynamicColumn Assert.AreEqual(4, GetTestTable().Count(type: typeof(T), last: new DynamicColumn
@@ -164,7 +164,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public virtual void TestTypedSelectInArrayCount2() public virtual void TestTypedSelectInArrayCount2()
{ {
Assert.AreEqual(4, GetTestBuilder() Assert.AreEqual(4, GetTestBuilder()
@@ -175,14 +175,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>First</c> method.</summary> /// <summary>Test typed <c>First</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedFirst() public virtual void TestTypedFirst()
{ {
Assert.AreEqual(1, GetTestTable().First(type: typeof(T), columns: "id").id); Assert.AreEqual(1, GetTestTable().First(type: typeof(T), columns: "id").id);
} }
/// <summary>Test typed <c>First</c> method.</summary> /// <summary>Test typed <c>First</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedFirst2() public virtual void TestTypedFirst2()
{ {
Assert.AreEqual(1, GetTestBuilder() Assert.AreEqual(1, GetTestBuilder()
@@ -193,14 +193,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Last</c> method.</summary> /// <summary>Test typed <c>Last</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedLast() public virtual void TestTypedLast()
{ {
Assert.AreEqual(200, GetTestTable().Last(type: typeof(T), columns: "id").id); Assert.AreEqual(200, GetTestTable().Last(type: typeof(T), columns: "id").id);
} }
/// <summary>Test typed <c>Last</c> method.</summary> /// <summary>Test typed <c>Last</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedLast2() public virtual void TestTypedLast2()
{ {
Assert.AreEqual(200, GetTestBuilder() Assert.AreEqual(200, GetTestBuilder()
@@ -211,21 +211,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Count</c> method.</summary> /// <summary>Test typed <c>Count</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedCountSpecificRecord() public virtual void TestTypedCountSpecificRecord()
{ {
Assert.AreEqual(1, GetTestTable().Count(type: typeof(T), first: "Ori")); Assert.AreEqual(1, GetTestTable().Count(type: typeof(T), first: "Ori"));
} }
/// <summary>Test typed <c>Min</c> method.</summary> /// <summary>Test typed <c>Min</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedMin() public virtual void TestTypedMin()
{ {
Assert.AreEqual(1, GetTestTable().Min(type: typeof(T), columns: "id")); Assert.AreEqual(1, GetTestTable().Min(type: typeof(T), columns: "id"));
} }
/// <summary>Test typed <c>Min</c> method.</summary> /// <summary>Test typed <c>Min</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedMin2() public virtual void TestTypedMin2()
{ {
Assert.AreEqual(1, GetTestBuilder() Assert.AreEqual(1, GetTestBuilder()
@@ -235,14 +235,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Min</c> method.</summary> /// <summary>Test typed <c>Min</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedMax() public virtual void TestTypedMax()
{ {
Assert.AreEqual(200, GetTestTable().Max(type: typeof(T), columns: "id")); Assert.AreEqual(200, GetTestTable().Max(type: typeof(T), columns: "id"));
} }
/// <summary>Test typed <c>Min</c> method.</summary> /// <summary>Test typed <c>Min</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedMax2() public virtual void TestTypedMax2()
{ {
Assert.AreEqual(200, GetTestBuilder() Assert.AreEqual(200, GetTestBuilder()
@@ -252,14 +252,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Min</c> method.</summary> /// <summary>Test typed <c>Min</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedtAvg() public virtual void TestTypedtAvg()
{ {
Assert.AreEqual(100.5, GetTestTable().Avg(type: typeof(T), columns: "id")); Assert.AreEqual(100.5, GetTestTable().Avg(type: typeof(T), columns: "id"));
} }
/// <summary>Test typed <c>Min</c> method.</summary> /// <summary>Test typed <c>Min</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedtAvg2() public virtual void TestTypedtAvg2()
{ {
Assert.AreEqual(100.5, GetTestBuilder() Assert.AreEqual(100.5, GetTestBuilder()
@@ -269,14 +269,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Sum</c> method.</summary> /// <summary>Test typed <c>Sum</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedSum() public virtual void TestTypedSum()
{ {
Assert.AreEqual(20100, GetTestTable().Sum(type: typeof(T), columns: "id")); Assert.AreEqual(20100, GetTestTable().Sum(type: typeof(T), columns: "id"));
} }
/// <summary>Test typed <c>Sum</c> method.</summary> /// <summary>Test typed <c>Sum</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedSum2() public virtual void TestTypedSum2()
{ {
Assert.AreEqual(20100, GetTestBuilder() Assert.AreEqual(20100, GetTestBuilder()
@@ -286,21 +286,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Scalar</c> method for invalid operation exception.</summary> /// <summary>Test typed <c>Scalar</c> method for invalid operation exception.</summary>
[TestMethod] [Test]
public virtual void TestTypedScalarException() public virtual void TestTypedScalarException()
{ {
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().Scalar(type: typeof(T), id: 19)); Assert.Throws<InvalidOperationException>(() => GetTestTable().Scalar(type: typeof(T), id: 19));
} }
/// <summary>Test typed <c>Scalar</c> method.</summary> /// <summary>Test typed <c>Scalar</c> method.</summary>
[TestMethod] [Test]
public virtual void TestTypedScalar() public virtual void TestTypedScalar()
{ {
Assert.AreEqual("Ori", GetTestTable().Scalar(type: typeof(T), columns: "first", id: 19)); Assert.AreEqual("Ori", GetTestTable().Scalar(type: typeof(T), columns: "first", id: 19));
} }
/// <summary>Test typed <c>Scalar</c> method.</summary> /// <summary>Test typed <c>Scalar</c> method.</summary>
[TestMethod] [Test]
public void TestTypedScalar2() public void TestTypedScalar2()
{ {
Assert.AreEqual("Ori", GetTestBuilder() Assert.AreEqual("Ori", GetTestBuilder()
@@ -311,21 +311,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate.</summary> /// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate.</summary>
[TestMethod] [Test]
public virtual void TestTypedScalarGroupConcat() public virtual void TestTypedScalarGroupConcat()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat("first") AS first from "users" where "id" < 20; // select group_concat("first") AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestTable().Scalar(type: typeof(T), columns: "first:first:group_concat", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 })); GetTestTable().Scalar(type: typeof(T), columns: "first:first:group_concat", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 }));
} }
/// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate.</summary> /// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate.</summary>
[TestMethod] [Test]
public virtual void TestTypedScalarGroupConcat2() public virtual void TestTypedScalarGroupConcat2()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat("first") AS first from "users" where "id" < 20; // select group_concat("first") AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestBuilder() GetTestBuilder()
.From(x => x(typeof(T)).As(x.t)) .From(x => x(typeof(T)).As(x.t))
@@ -335,21 +335,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary> /// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary>
[TestMethod] [Test]
public virtual void TestTypedScalarGroupConcatNoAggregateField() public virtual void TestTypedScalarGroupConcatNoAggregateField()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat(first) AS first from "users" where "id" < 20; // select group_concat(first) AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestTable().Scalar(type: typeof(T), columns: "group_concat(first):first", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 })); GetTestTable().Scalar(type: typeof(T), columns: "group_concat(first):first", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 }));
} }
/// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary> /// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary>
[TestMethod] [Test]
public virtual void TestTypedScalarGroupConcatNoAggregateField2() public virtual void TestTypedScalarGroupConcatNoAggregateField2()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat("first") AS first from "users" where "id" < 20; // select group_concat("first") AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestBuilder() GetTestBuilder()
.From(x => x(typeof(T)).As(x.t)) .From(x => x(typeof(T)).As(x.t))
@@ -358,8 +358,8 @@ namespace DynamORM.Tests.Select
.Scalar()); .Scalar());
} }
/// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "users" group by "first" order by 2 desc;</code>.</summary> /// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "sample_users" group by "first" order by 2 desc;</code>.</summary>
[TestMethod] [Test]
public virtual void TestTypedFancyAggregateQuery() public virtual void TestTypedFancyAggregateQuery()
{ {
var v = (GetTestTable().Query(type: typeof(T), columns: "first,first:aggregatefield:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList(); var v = (GetTestTable().Query(type: typeof(T), columns: "first,first:aggregatefield:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList();
@@ -373,8 +373,8 @@ namespace DynamORM.Tests.Select
Assert.AreEqual(1, v.Last().aggregatefield); Assert.AreEqual(1, v.Last().aggregatefield);
} }
/// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "users" group by "first" order by 2 desc;</code>.</summary> /// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "sample_users" group by "first" order by 2 desc;</code>.</summary>
[TestMethod] [Test]
public virtual void TestTypedFancyAggregateQuery2() public virtual void TestTypedFancyAggregateQuery2()
{ {
var v = GetTestBuilder() var v = GetTestBuilder()
@@ -394,15 +394,15 @@ namespace DynamORM.Tests.Select
Assert.AreEqual(1, v.Last().aggregatefield); Assert.AreEqual(1, v.Last().aggregatefield);
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public virtual void TestTypedAggregateInAggregate() public virtual void TestTypedAggregateInAggregate()
{ {
Assert.AreEqual(12.77, GetTestTable().Scalar(type: typeof(T), columns: @"length(""login""):len:avg")); Assert.AreEqual(12.77, GetTestTable().Scalar(type: typeof(T), columns: @"length(""login""):len:avg"));
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public virtual void TestTypedAggregateInAggregate2() public virtual void TestTypedAggregateInAggregate2()
{ {
Assert.AreEqual(12.77, GetTestBuilder() Assert.AreEqual(12.77, GetTestBuilder()
@@ -411,15 +411,15 @@ namespace DynamORM.Tests.Select
.Scalar()); .Scalar());
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public virtual void TestTypedAggregateInAggregateMark2() public virtual void TestTypedAggregateInAggregateMark2()
{ {
Assert.AreEqual(27.7, GetTestTable().Avg(type: typeof(T), columns: @"length(""email""):len")); Assert.AreEqual(27.7, GetTestTable().Avg(type: typeof(T), columns: @"length(""email""):len"));
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public virtual void TestTypedAggregateInAggregateMark3() public virtual void TestTypedAggregateInAggregateMark3()
{ {
Assert.AreEqual(27.7, GetTestBuilder() Assert.AreEqual(27.7, GetTestBuilder()
@@ -428,7 +428,7 @@ namespace DynamORM.Tests.Select
.Scalar()); .Scalar());
} }
/// <summary>Test emails longer than 27 chars. <code>select count(*) from "users" where length("email") > 27;</code>.</summary> /// <summary>Test emails longer than 27 chars. <code>select count(*) from "sample_users" where length("email") > 27;</code>.</summary>
public virtual void TestTypedFunctionInWhere() public virtual void TestTypedFunctionInWhere()
{ {
Assert.AreEqual(97, Assert.AreEqual(97,
@@ -442,7 +442,7 @@ namespace DynamORM.Tests.Select
})); }));
} }
/// <summary>Test emails longer than 27 chars. <code>select count(*) from "users" where length("email") > 27;</code>.</summary> /// <summary>Test emails longer than 27 chars. <code>select count(*) from "sample_users" where length("email") > 27;</code>.</summary>
public virtual void TestTypedFunctionInWhere2() public virtual void TestTypedFunctionInWhere2()
{ {
Assert.AreEqual(97, GetTestBuilder() Assert.AreEqual(97, GetTestBuilder()
@@ -453,7 +453,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Single</c> multi.</summary> /// <summary>Test typed <c>Single</c> multi.</summary>
[TestMethod] [Test]
public virtual void TestTypedSingleObject() public virtual void TestTypedSingleObject()
{ {
var exp = new { id = 19, first = "Ori", last = "Ellis" }; var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -465,7 +465,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed <c>Single</c> multi.</summary> /// <summary>Test typed <c>Single</c> multi.</summary>
[TestMethod] [Test]
public virtual void TestTypedSingleObject2() public virtual void TestTypedSingleObject2()
{ {
var exp = new { id = 19, first = "Ori", last = "Ellis" }; var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -486,14 +486,14 @@ namespace DynamORM.Tests.Select
#region Where typed #region Where typed
/// <summary>Test typed where expression equal.</summary> /// <summary>Test typed where expression equal.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereEq() public virtual void TestTypedWhereEq()
{ {
Assert.AreEqual("hoyt.tran", GetTestTable().Single(type: typeof(T), where: new DynamicColumn("id").Eq(100)).login); Assert.AreEqual("hoyt.tran", GetTestTable().Single(type: typeof(T), where: new DynamicColumn("id").Eq(100)).login);
} }
/// <summary>Test typed where expression equal.</summary> /// <summary>Test typed where expression equal.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereEq2() public virtual void TestTypedWhereEq2()
{ {
Assert.AreEqual("hoyt.tran", GetTestBuilder() Assert.AreEqual("hoyt.tran", GetTestBuilder()
@@ -502,14 +502,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression not equal.</summary> /// <summary>Test typed where expression not equal.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereNot() public virtual void TestTypedWhereNot()
{ {
Assert.AreEqual(199, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Not(100))); Assert.AreEqual(199, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Not(100)));
} }
/// <summary>Test typed where expression not equal.</summary> /// <summary>Test typed where expression not equal.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereNot2() public virtual void TestTypedWhereNot2()
{ {
Assert.AreEqual(199, GetTestBuilder() Assert.AreEqual(199, GetTestBuilder()
@@ -520,14 +520,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression like.</summary> /// <summary>Test typed where expression like.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereLike() public virtual void TestTypedWhereLike()
{ {
Assert.AreEqual(100, GetTestTable().Single(type: typeof(T), where: new DynamicColumn("login").Like("Hoyt.%")).id); Assert.AreEqual(100, GetTestTable().Single(type: typeof(T), where: new DynamicColumn("login").Like("Hoyt.%")).id);
} }
/// <summary>Test typed where expression like.</summary> /// <summary>Test typed where expression like.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereLike2() public virtual void TestTypedWhereLike2()
{ {
Assert.AreEqual(100, GetTestBuilder() Assert.AreEqual(100, GetTestBuilder()
@@ -536,14 +536,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression not like.</summary> /// <summary>Test typed where expression not like.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereNotLike() public virtual void TestTypedWhereNotLike()
{ {
Assert.AreEqual(199, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("login").NotLike("Hoyt.%"))); Assert.AreEqual(199, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("login").NotLike("Hoyt.%")));
} }
/// <summary>Test typed where expression not like.</summary> /// <summary>Test typed where expression not like.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereNotLike2() public virtual void TestTypedWhereNotLike2()
{ {
Assert.AreEqual(199, GetTestBuilder() Assert.AreEqual(199, GetTestBuilder()
@@ -554,7 +554,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression not like.</summary> /// <summary>Test typed where expression not like.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereNotLike3() public virtual void TestTypedWhereNotLike3()
{ {
Assert.AreEqual(199, GetTestBuilder() Assert.AreEqual(199, GetTestBuilder()
@@ -565,14 +565,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression greater.</summary> /// <summary>Test typed where expression greater.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereGt() public virtual void TestTypedWhereGt()
{ {
Assert.AreEqual(100, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Greater(100))); Assert.AreEqual(100, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Greater(100)));
} }
/// <summary>Test typed where expression greater.</summary> /// <summary>Test typed where expression greater.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereGt2() public virtual void TestTypedWhereGt2()
{ {
Assert.AreEqual(100, GetTestBuilder() Assert.AreEqual(100, GetTestBuilder()
@@ -583,14 +583,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression greater or equal.</summary> /// <summary>Test typed where expression greater or equal.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereGte() public virtual void TestTypedWhereGte()
{ {
Assert.AreEqual(101, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").GreaterOrEqual(100))); Assert.AreEqual(101, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").GreaterOrEqual(100)));
} }
/// <summary>Test typed where expression greater or equal.</summary> /// <summary>Test typed where expression greater or equal.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereGte2() public virtual void TestTypedWhereGte2()
{ {
Assert.AreEqual(101, GetTestBuilder() Assert.AreEqual(101, GetTestBuilder()
@@ -601,14 +601,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression less.</summary> /// <summary>Test typed where expression less.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereLt() public virtual void TestTypedWhereLt()
{ {
Assert.AreEqual(99, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Less(100))); Assert.AreEqual(99, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Less(100)));
} }
/// <summary>Test typed where expression less.</summary> /// <summary>Test typed where expression less.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereLt2() public virtual void TestTypedWhereLt2()
{ {
Assert.AreEqual(99, GetTestBuilder() Assert.AreEqual(99, GetTestBuilder()
@@ -619,14 +619,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression less or equal.</summary> /// <summary>Test typed where expression less or equal.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereLte() public virtual void TestTypedWhereLte()
{ {
Assert.AreEqual(100, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").LessOrEqual(100))); Assert.AreEqual(100, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").LessOrEqual(100)));
} }
/// <summary>Test typed where expression less or equal.</summary> /// <summary>Test typed where expression less or equal.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereLte2() public virtual void TestTypedWhereLte2()
{ {
Assert.AreEqual(100, GetTestBuilder() Assert.AreEqual(100, GetTestBuilder()
@@ -637,14 +637,14 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression between.</summary> /// <summary>Test typed where expression between.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereBetween() public virtual void TestTypedWhereBetween()
{ {
Assert.AreEqual(26, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Between(75, 100))); Assert.AreEqual(26, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Between(75, 100)));
} }
/// <summary>Test typed where expression between.</summary> /// <summary>Test typed where expression between.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereBetween2() public virtual void TestTypedWhereBetween2()
{ {
Assert.AreEqual(26, GetTestBuilder() Assert.AreEqual(26, GetTestBuilder()
@@ -655,21 +655,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression in parameters.</summary> /// <summary>Test typed where expression in parameters.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereIn1() public virtual void TestTypedWhereIn1()
{ {
Assert.AreEqual(3, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").In(75, 99, 100))); Assert.AreEqual(3, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").In(75, 99, 100)));
} }
/// <summary>Test typed where expression in array.</summary> /// <summary>Test typed where expression in array.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereIn2() public virtual void TestTypedWhereIn2()
{ {
Assert.AreEqual(3, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").In(new[] { 75, 99, 100 }))); Assert.AreEqual(3, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").In(new[] { 75, 99, 100 })));
} }
/// <summary>Test typed where expression in parameters.</summary> /// <summary>Test typed where expression in parameters.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereIn3() public virtual void TestTypedWhereIn3()
{ {
Assert.AreEqual(3, GetTestBuilder() Assert.AreEqual(3, GetTestBuilder()
@@ -680,7 +680,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test typed where expression in array.</summary> /// <summary>Test typed where expression in array.</summary>
[TestMethod] [Test]
public virtual void TestTypedWhereIn4() public virtual void TestTypedWhereIn4()
{ {
Assert.AreEqual(3, GetTestBuilder() Assert.AreEqual(3, GetTestBuilder()
@@ -695,7 +695,7 @@ namespace DynamORM.Tests.Select
#region Select generic #region Select generic
/// <summary>Test load all rows into mapped list alternate way.</summary> /// <summary>Test load all rows into mapped list alternate way.</summary>
[TestMethod] [Test]
public virtual void TestGenericGetAll() public virtual void TestGenericGetAll()
{ {
var list = (GetTestTable().Query<T>() as IEnumerable<object>).Cast<T>().ToList(); var list = (GetTestTable().Query<T>() as IEnumerable<object>).Cast<T>().ToList();
@@ -704,21 +704,21 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test unknown op.</summary> /// <summary>Test unknown op.</summary>
[TestMethod] [Test]
public virtual void TestGenericUnknownOperation() public virtual void TestGenericUnknownOperation()
{ {
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch<T>(with: "cheese")); Assert.Throws<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch<T>(with: "cheese"));
} }
/// <summary>Test generic <c>Count</c> method.</summary> /// <summary>Test generic <c>Count</c> method.</summary>
[TestMethod] [Test]
public virtual void TestGenericCount() public virtual void TestGenericCount()
{ {
Assert.AreEqual(200, GetTestTable().Count<T>(columns: "id")); Assert.AreEqual(200, GetTestTable().Count<T>(columns: "id"));
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public virtual void TestGenericSelectInEnumerableCount() public virtual void TestGenericSelectInEnumerableCount()
{ {
Assert.AreEqual(4, GetTestTable().Count<T>(last: new DynamicColumn Assert.AreEqual(4, GetTestTable().Count<T>(last: new DynamicColumn
@@ -729,7 +729,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test count with in statement.</summary> /// <summary>Test count with in statement.</summary>
[TestMethod] [Test]
public virtual void TestGenericSelectInArrayCount() public virtual void TestGenericSelectInArrayCount()
{ {
Assert.AreEqual(4, GetTestTable().Count<T>(last: new DynamicColumn Assert.AreEqual(4, GetTestTable().Count<T>(last: new DynamicColumn
@@ -740,90 +740,90 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test generic <c>First</c> method.</summary> /// <summary>Test generic <c>First</c> method.</summary>
[TestMethod] [Test]
public virtual void TestGenericFirst() public virtual void TestGenericFirst()
{ {
Assert.AreEqual(1, GetTestTable().First<T>(columns: "id").id); Assert.AreEqual(1, GetTestTable().First<T>(columns: "id").id);
} }
/// <summary>Test generic <c>Last</c> method.</summary> /// <summary>Test generic <c>Last</c> method.</summary>
[TestMethod] [Test]
public virtual void TestGenericLast() public virtual void TestGenericLast()
{ {
Assert.AreEqual(200, GetTestTable().Last<T>(columns: "id").id); Assert.AreEqual(200, GetTestTable().Last<T>(columns: "id").id);
} }
/// <summary>Test generic <c>Count</c> method.</summary> /// <summary>Test generic <c>Count</c> method.</summary>
[TestMethod] [Test]
public virtual void TestGenericCountSpecificRecord() public virtual void TestGenericCountSpecificRecord()
{ {
Assert.AreEqual(1, GetTestTable().Count<T>(first: "Ori")); Assert.AreEqual(1, GetTestTable().Count<T>(first: "Ori"));
} }
/// <summary>Test generic <c>Min</c> method.</summary> /// <summary>Test generic <c>Min</c> method.</summary>
[TestMethod] [Test]
public virtual void TestGenericMin() public virtual void TestGenericMin()
{ {
Assert.AreEqual(1, GetTestTable().Min<T>(columns: "id")); Assert.AreEqual(1, GetTestTable().Min<T>(columns: "id"));
} }
/// <summary>Test generic <c>Min</c> method.</summary> /// <summary>Test generic <c>Min</c> method.</summary>
[TestMethod] [Test]
public virtual void TestGenericMax() public virtual void TestGenericMax()
{ {
Assert.AreEqual(200, GetTestTable().Max<T>(columns: "id")); Assert.AreEqual(200, GetTestTable().Max<T>(columns: "id"));
} }
/// <summary>Test generic <c>Min</c> method.</summary> /// <summary>Test generic <c>Min</c> method.</summary>
[TestMethod] [Test]
public virtual void TestGenerictAvg() public virtual void TestGenerictAvg()
{ {
Assert.AreEqual(100.5, GetTestTable().Avg<T>(columns: "id")); Assert.AreEqual(100.5, GetTestTable().Avg<T>(columns: "id"));
} }
/// <summary>Test generic <c>Sum</c> method.</summary> /// <summary>Test generic <c>Sum</c> method.</summary>
[TestMethod] [Test]
public virtual void TestGenericSum() public virtual void TestGenericSum()
{ {
Assert.AreEqual(20100, GetTestTable().Sum<T>(columns: "id")); Assert.AreEqual(20100, GetTestTable().Sum<T>(columns: "id"));
} }
/// <summary>Test generic <c>Scalar</c> method for invalid operation exception.</summary> /// <summary>Test generic <c>Scalar</c> method for invalid operation exception.</summary>
[TestMethod] [Test]
public virtual void TestGenericScalarException() public virtual void TestGenericScalarException()
{ {
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().Scalar<T>(id: 19)); Assert.Throws<InvalidOperationException>(() => GetTestTable().Scalar<T>(id: 19));
} }
/// <summary>Test generic <c>Scalar</c> method.</summary> /// <summary>Test generic <c>Scalar</c> method.</summary>
[TestMethod] [Test]
public virtual void TestGenericScalar() public virtual void TestGenericScalar()
{ {
Assert.AreEqual("Ori", GetTestTable().Scalar<T>(columns: "first", id: 19)); Assert.AreEqual("Ori", GetTestTable().Scalar<T>(columns: "first", id: 19));
} }
/// <summary>Test generic <c>Scalar</c> method with SQLite specific aggregate.</summary> /// <summary>Test generic <c>Scalar</c> method with SQLite specific aggregate.</summary>
[TestMethod] [Test]
public virtual void TestGenericScalarGroupConcat() public virtual void TestGenericScalarGroupConcat()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat("first") AS first from "users" where "id" < 20; // select group_concat("first") AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestTable().Scalar<T>(columns: "first:first:group_concat", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 })); GetTestTable().Scalar<T>(columns: "first:first:group_concat", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 }));
} }
/// <summary>Test generic <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary> /// <summary>Test generic <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary>
[TestMethod] [Test]
public virtual void TestGenericScalarGroupConcatNoAggregateField() public virtual void TestGenericScalarGroupConcatNoAggregateField()
{ {
// This test should produce something like this: // This test should produce something like this:
// select group_concat(first) AS first from "users" where "id" < 20; // select group_concat(first) AS first from "sample_users" where "id" < 20;
Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori", Assert.AreEqual("Clarke,Marny,Dai,Forrest,Blossom,George,Ivory,Inez,Sigourney,Fulton,Logan,Anne,Alexandra,Adena,Lionel,Aimee,Selma,Lara,Ori",
GetTestTable().Scalar<T>(columns: "group_concat(first):first", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 })); GetTestTable().Scalar<T>(columns: "group_concat(first):first", id: new DynamicColumn { Operator = DynamicColumn.CompareOperator.Lt, Value = 20 }));
} }
/// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "users" group by "first" order by 2 desc;</code>.</summary> /// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "sample_users" group by "first" order by 2 desc;</code>.</summary>
[TestMethod] [Test]
public virtual void TestGenericFancyAggregateQuery() public virtual void TestGenericFancyAggregateQuery()
{ {
var v = (GetTestTable().Query<T>(columns: "first,first:aggregatefield:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList(); var v = (GetTestTable().Query<T>(columns: "first,first:aggregatefield:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList();
@@ -837,21 +837,21 @@ namespace DynamORM.Tests.Select
Assert.AreEqual(1, v.Last().aggregatefield); Assert.AreEqual(1, v.Last().aggregatefield);
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public virtual void TestGenericAggregateInAggregate() public virtual void TestGenericAggregateInAggregate()
{ {
Assert.AreEqual(12.77, GetTestTable().Scalar<T>(columns: @"length(""login""):len:avg")); Assert.AreEqual(12.77, GetTestTable().Scalar<T>(columns: @"length(""login""):len:avg"));
} }
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "users";</code>.</summary> /// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "sample_users";</code>.</summary>
[TestMethod] [Test]
public virtual void TestGenericAggregateInAggregateMark2() public virtual void TestGenericAggregateInAggregateMark2()
{ {
Assert.AreEqual(27.7, GetTestTable().Avg<T>(columns: @"length(""email""):len")); Assert.AreEqual(27.7, GetTestTable().Avg<T>(columns: @"length(""email""):len"));
} }
/// <summary>Test emails longer than 27 chars. <code>select count(*) from "users" where length("email") > 27;</code>.</summary> /// <summary>Test emails longer than 27 chars. <code>select count(*) from "sample_users" where length("email") > 27;</code>.</summary>
public virtual void TestGenericFunctionInWhere() public virtual void TestGenericFunctionInWhere()
{ {
Assert.AreEqual(97, Assert.AreEqual(97,
@@ -866,7 +866,7 @@ namespace DynamORM.Tests.Select
} }
/// <summary>Test generic <c>Single</c> multi.</summary> /// <summary>Test generic <c>Single</c> multi.</summary>
[TestMethod] [Test]
public virtual void TestGenericSingleObject() public virtual void TestGenericSingleObject()
{ {
var exp = new { id = 19, first = "Ori", last = "Ellis" }; var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -882,77 +882,77 @@ namespace DynamORM.Tests.Select
#region Where generic #region Where generic
/// <summary>Test generic where expression equal.</summary> /// <summary>Test generic where expression equal.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereEq() public virtual void TestGenericWhereEq()
{ {
Assert.AreEqual("hoyt.tran", GetTestTable().Single<T>(where: new DynamicColumn("id").Eq(100)).login); Assert.AreEqual("hoyt.tran", GetTestTable().Single<T>(where: new DynamicColumn("id").Eq(100)).login);
} }
/// <summary>Test generic where expression not equal.</summary> /// <summary>Test generic where expression not equal.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereNot() public virtual void TestGenericWhereNot()
{ {
Assert.AreEqual(199, GetTestTable().Count<T>(where: new DynamicColumn("id").Not(100))); Assert.AreEqual(199, GetTestTable().Count<T>(where: new DynamicColumn("id").Not(100)));
} }
/// <summary>Test generic where expression like.</summary> /// <summary>Test generic where expression like.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereLike() public virtual void TestGenericWhereLike()
{ {
Assert.AreEqual(100, GetTestTable().Single<T>(where: new DynamicColumn("login").Like("Hoyt.%")).id); Assert.AreEqual(100, GetTestTable().Single<T>(where: new DynamicColumn("login").Like("Hoyt.%")).id);
} }
/// <summary>Test generic where expression not like.</summary> /// <summary>Test generic where expression not like.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereNotLike() public virtual void TestGenericWhereNotLike()
{ {
Assert.AreEqual(199, GetTestTable().Count<T>(where: new DynamicColumn("login").NotLike("Hoyt.%"))); Assert.AreEqual(199, GetTestTable().Count<T>(where: new DynamicColumn("login").NotLike("Hoyt.%")));
} }
/// <summary>Test generic where expression greater.</summary> /// <summary>Test generic where expression greater.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereGt() public virtual void TestGenericWhereGt()
{ {
Assert.AreEqual(100, GetTestTable().Count<T>(where: new DynamicColumn("id").Greater(100))); Assert.AreEqual(100, GetTestTable().Count<T>(where: new DynamicColumn("id").Greater(100)));
} }
/// <summary>Test generic where expression greater or equal.</summary> /// <summary>Test generic where expression greater or equal.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereGte() public virtual void TestGenericWhereGte()
{ {
Assert.AreEqual(101, GetTestTable().Count<T>(where: new DynamicColumn("id").GreaterOrEqual(100))); Assert.AreEqual(101, GetTestTable().Count<T>(where: new DynamicColumn("id").GreaterOrEqual(100)));
} }
/// <summary>Test generic where expression less.</summary> /// <summary>Test generic where expression less.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereLt() public virtual void TestGenericWhereLt()
{ {
Assert.AreEqual(99, GetTestTable().Count<T>(where: new DynamicColumn("id").Less(100))); Assert.AreEqual(99, GetTestTable().Count<T>(where: new DynamicColumn("id").Less(100)));
} }
/// <summary>Test generic where expression less or equal.</summary> /// <summary>Test generic where expression less or equal.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereLte() public virtual void TestGenericWhereLte()
{ {
Assert.AreEqual(100, GetTestTable().Count<T>(where: new DynamicColumn("id").LessOrEqual(100))); Assert.AreEqual(100, GetTestTable().Count<T>(where: new DynamicColumn("id").LessOrEqual(100)));
} }
/// <summary>Test generic where expression between.</summary> /// <summary>Test generic where expression between.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereBetween() public virtual void TestGenericWhereBetween()
{ {
Assert.AreEqual(26, GetTestTable().Count<T>(where: new DynamicColumn("id").Between(75, 100))); Assert.AreEqual(26, GetTestTable().Count<T>(where: new DynamicColumn("id").Between(75, 100)));
} }
/// <summary>Test generic where expression in parameters.</summary> /// <summary>Test generic where expression in parameters.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereIn1() public virtual void TestGenericWhereIn1()
{ {
Assert.AreEqual(3, GetTestTable().Count<T>(where: new DynamicColumn("id").In(75, 99, 100))); Assert.AreEqual(3, GetTestTable().Count<T>(where: new DynamicColumn("id").In(75, 99, 100)));
} }
/// <summary>Test generic where expression in array.</summary> /// <summary>Test generic where expression in array.</summary>
[TestMethod] [Test]
public virtual void TestGenericWhereIn2() public virtual void TestGenericWhereIn2()
{ {
Assert.AreEqual(3, GetTestTable().Count<T>(where: new DynamicColumn("id").In(new[] { 75, 99, 100 }))); Assert.AreEqual(3, GetTestTable().Count<T>(where: new DynamicColumn("id").In(new[] { 75, 99, 100 })));

View File

@@ -7,9 +7,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DynamORM", "DynamORM\DynamO
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamORM.Tests", "DynamORM.Tests\DynamORM.Tests.csproj", "{D5013B4E-8A1B-4DBB-8FB5-E09935F4F764}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamORM.Tests", "DynamORM.Tests\DynamORM.Tests.csproj", "{D5013B4E-8A1B-4DBB-8FB5-E09935F4F764}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AmalgamationTool", "AmalgamationTool\AmalgamationTool.csproj", "{A64D2052-D0CD-488E-BF05-E5952615D926}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AmalgamationTool", "AmalgamationTool\AmalgamationTool.csproj", "{A64D2052-D0CD-488E-BF05-E5952615D926}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tester", "Tester\Tester.csproj", "{F747AA57-BEA7-4FB8-B371-546296789AEF}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -41,29 +39,18 @@ Global
{D5013B4E-8A1B-4DBB-8FB5-E09935F4F764}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {D5013B4E-8A1B-4DBB-8FB5-E09935F4F764}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D5013B4E-8A1B-4DBB-8FB5-E09935F4F764}.Release|Mixed Platforms.Build.0 = Release|Any CPU {D5013B4E-8A1B-4DBB-8FB5-E09935F4F764}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D5013B4E-8A1B-4DBB-8FB5-E09935F4F764}.Release|x86.ActiveCfg = Release|Any CPU {D5013B4E-8A1B-4DBB-8FB5-E09935F4F764}.Release|x86.ActiveCfg = Release|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|Any CPU.ActiveCfg = Debug|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|Any CPU.Build.0 = Debug|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|Mixed Platforms.Build.0 = Debug|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|x86.ActiveCfg = Debug|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|x86.ActiveCfg = Debug|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|x86.Build.0 = Debug|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Debug|x86.Build.0 = Debug|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Release|Any CPU.ActiveCfg = Release|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Release|Any CPU.Build.0 = Release|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Release|Any CPU.Build.0 = Release|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Release|Mixed Platforms.ActiveCfg = Release|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Release|Mixed Platforms.Build.0 = Release|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Release|x86.ActiveCfg = Release|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Release|x86.ActiveCfg = Release|Any CPU
{A64D2052-D0CD-488E-BF05-E5952615D926}.Release|x86.Build.0 = Release|x86 {A64D2052-D0CD-488E-BF05-E5952615D926}.Release|x86.Build.0 = Release|Any CPU
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|x86.ActiveCfg = Debug|x86
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Debug|x86.Build.0 = Debug|x86
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|Any CPU.ActiveCfg = Release|x86
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|x86.ActiveCfg = Release|x86
{F747AA57-BEA7-4FB8-B371-546296789AEF}.Release|x86.Build.0 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -72,6 +59,6 @@ Global
SolutionGuid = {22781EB3-2148-4CA4-845A-B55265A7B5C2} SolutionGuid = {22781EB3-2148-4CA4-845A-B55265A7B5C2}
EndGlobalSection EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = Tester\Tester.csproj StartupItem = DynamORM.Tests\DynamORM.Tests.csproj
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

View File

@@ -13,6 +13,12 @@
<PackageLicenseExpression>MIT</PackageLicenseExpression> <PackageLicenseExpression>MIT</PackageLicenseExpression>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<GenerateAmalgamationOnBuild>true</GenerateAmalgamationOnBuild>
<AmalgamationSourceDir>$(MSBuildProjectDirectory)</AmalgamationSourceDir>
<AmalgamationOutputFile>$(MSBuildProjectDirectory)\..\AmalgamationTool\DynamORM.Amalgamation.cs</AmalgamationOutputFile>
</PropertyGroup>
<PropertyGroup> <PropertyGroup>
<IncludeSymbols>true</IncludeSymbols> <IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat> <SymbolPackageFormat>snupkg</SymbolPackageFormat>
@@ -25,4 +31,11 @@
<ItemGroup Condition="$(TargetFramework.StartsWith('net4')) AND '$(MSBuildRuntimeType)' == 'Core' AND '$(OS)' != 'Windows_NT'"> <ItemGroup Condition="$(TargetFramework.StartsWith('net4')) AND '$(MSBuildRuntimeType)' == 'Core' AND '$(OS)' != 'Windows_NT'">
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="All" /> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="All" />
</ItemGroup> </ItemGroup>
<Target Name="GenerateAmalgamation"
AfterTargets="Build"
Condition="'$(GenerateAmalgamationOnBuild)' == 'true' and '$(TargetFramework)' == 'net10.0' and '$(IsCrossTargetingBuild)' != 'true'">
<Message Importance="high" Text="Generating amalgamation file to $(AmalgamationOutputFile)" />
<Exec Command="dotnet run --project &quot;$(MSBuildProjectDirectory)\..\AmalgamationTool\AmalgamationTool.csproj&quot; -- &quot;$(AmalgamationSourceDir)&quot; &quot;$(AmalgamationOutputFile)&quot;" />
</Target>
</Project> </Project>

View File

@@ -314,8 +314,6 @@ namespace DynamORM
Type listType = typeof(List<>).MakeGenericType(new Type[] { argType }); Type listType = typeof(List<>).MakeGenericType(new Type[] { argType });
IList listInstance = (IList)Activator.CreateInstance(listType); IList listInstance = (IList)Activator.CreateInstance(listType);
object defVal = listType.GetDefaultValue();
using (IDataReader rdr = cmd.ExecuteReader()) using (IDataReader rdr = cmd.ExecuteReader())
using (IDataReader cache = rdr.CachedReader()) using (IDataReader cache = rdr.CachedReader())
while (cache.Read()) while (cache.Read())

View File

@@ -22,3 +22,4 @@ Full documentation is available in [`docs/README.md`](docs/README.md):
- `DynamORM.Tests/`: test suite - `DynamORM.Tests/`: test suite
- `AmalgamationTool/`: amalgamation generator and generated single-file output - `AmalgamationTool/`: amalgamation generator and generated single-file output
- `DynamORM.Net40.csproj`: net40 build for amalgamated source compatibility - `DynamORM.Net40.csproj`: net40 build for amalgamated source compatibility
- `scripts/docker/`: dockerized build, test, amalgamation generation, and mono net40 smoke scripts

View File

@@ -1,169 +0,0 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using DynamORM;
using DynamORM.Helpers;
using DynamORM.Mapper;
using Tester.RealTests;
namespace Tester
{
internal class Program
{
private static DynamicDatabase GetORM()
{
return new DynamicDatabase(System.Data.SqlClient.SqlClientFactory.Instance,
//"packet size=4096;User Id=sa;Password=sWe7PepR;data source=192.168.22.10;initial catalog=PLAYGROUND;",
"packet size=4096;User Id=sa;Password=sWe7PepR;data source=192.168.22.10;initial catalog=MOM_DEMO_WMS_FILLED;",
DynamicDatabaseOptions.SingleConnection | DynamicDatabaseOptions.SingleTransaction | DynamicDatabaseOptions.SupportSchema |
DynamicDatabaseOptions.SupportStoredProcedures | DynamicDatabaseOptions.SupportTop | DynamicDatabaseOptions.DumpCommands |
DynamicDatabaseOptions.SupportStoredProceduresResult);
////return new DynamORM.DynamicDatabase(System.Data.SQLite.SQLiteFactory.Instance,
//// "Data Source=test.db3;",
//// DynamORM.DynamicDatabaseOptions.SingleConnection | DynamORM.DynamicDatabaseOptions.SingleTransaction |
//// DynamORM.DynamicDatabaseOptions.SupportSchema | DynamORM.DynamicDatabaseOptions.SupportLimitOffset);
///
}
private static void Main(string[] args)
{
using (var db = GetORM())
{
var num = db.Procedures.usp_NewNumber(counterName: "TRAY");
//ProcedureHell(db);
//OddNullabeleProblem.Test(db);
//TableFun(db);
}
}
private static void TableFun(DynamicDatabase db)
{
try
{
db.Execute("DROP TABLE Experiments ");
}
catch { }
db.Execute(@"CREATE TABLE Experiments (
id int NOT NULL PRIMARY KEY,
t1 nvarchar(50) NOT NULL DEFAULT N'',
t2 varchar(50) NOT NULL DEFAULT '',
dd date,
tt time);");
db.Insert<Ex>().Insert(new Ex
{
id = 1,
t1 = "T1",
t2 = "T1",
dd = DateTime.Now,
tt = TimeSpan.FromDays(2) + TimeSpan.FromHours(10),
}).Execute();
var tt = db.From<Ex>().Where(x => x.id == 1).ToList<Ex>().FirstOrDefault();
db.Update<Ex>().Where(x => x.id == 1).Set(x => x.tt = TimeSpan.FromMinutes(10), x => x.dd = DateTime.Now.AddDays(2)).Execute();
db.Execute("DROP TABLE Experiments ");
}
[Table(Name = "Experiments")]
private class Ex
{
public int id { get; set; }
public string t1 { get; set; }
public string t2 { get; set; }
public DateTime dd { get; set; }
public TimeSpan tt { get; set; }
}
private static void ProcedureHell(DynamicDatabase db)
{
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_Scalar AS SELECT 42;");
var res0 = db.Procedures.sp_Exp_Scalar();
var res1 = db.Procedures.sp_Exp_Scalar<int>();
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_ReturnInt AS RETURN 42;");
var res2 = db.Procedures.sp_Exp_ReturnInt();
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeData AS
SELECT 1 Id, 'Some Name 1' [Name], 'Some Desc 1' [Desc], GETDATE() [Date]
UNION ALL SELECT 2 Id, 'Some Name 2', 'Some Desc 2', GETDATE() [Date];");
var res3 = db.Procedures.sp_Exp_SomeData<sp_Exp_SomeData_Result>();
var res4 = db.Procedures.sp_Exp_SomeData<List<sp_Exp_SomeData_Result>>();
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeInputAndOutput
@Name nvarchar(50),
@Result nvarchar(256) OUTPUT
AS
SELECT @Result = 'Hi, ' + @Name + ' your lucky number is 42!';");
var res5 = db.Procedures.sp_Exp_SomeInputAndOutput<string, sp_Exp_SomeInputAndOutput_Result>(Name: "G4g4r1n", out_Result: new DynamicColumn
{
Schema = new DynamicSchemaColumn
{
Size = 256,
},
}, ret_Return: 0);
var res6 = db.Procedures.sp_Exp_SomeInputAndOutput<string, sp_Exp_SomeInputAndOutput_Result>(Name: "G4g4r1n", out_Result: new DynamicSchemaColumn
{
Size = 256,
}, ret_Return: 0);
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeInputAndOutputWithDataAndReturn
@Name nvarchar(50),
@Result nvarchar(256) OUTPUT
AS
SELECT @Result = 'Hi, ' + @Name + ' your lucky number is 42!'
SELECT 1 Id, 'Some Name 1' [Name], 'Some Desc 1' [Desc], GETDATE() [Date]
UNION ALL SELECT 2 Id, 'Some Name 2', 'Some Desc 2', GETDATE() [Date]
RETURN 42;");
var res7 = db.Procedures.sp_Exp_SomeInputAndOutputWithDataAndReturn<List<sp_Exp_SomeInputAndOutputWithDataAndReturn_Result.Data>, sp_Exp_SomeInputAndOutputWithDataAndReturn_Result>(Name: "G4g4r1n", out_Result: new DynamicColumn
{
Schema = new DynamicSchemaColumn
{
Size = 256,
},
}, ret_Return: 0);
var res8 = db.Procedures.sp_Exp_SomeInputAndOutputWithDataAndReturn<List<sp_Exp_SomeInputAndOutputWithDataAndReturn_Result.Data>, sp_Exp_SomeInputAndOutputWithDataAndReturn_Result>(Name: "G4g4r1n", out_Result: new DynamicSchemaColumn
{
Size = 256,
}, ret_Return: 0);
}
private class sp_Exp_SomeData_Result
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string Desc { get; set; }
public virtual DateTime Date { get; set; }
}
private class sp_Exp_SomeInputAndOutput_Result
{
public virtual string Result { get; set; }
public virtual string Return { get; set; }
}
private class sp_Exp_SomeInputAndOutputWithDataAndReturn_Result
{
public class Data
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string Desc { get; set; }
public virtual DateTime Date { get; set; }
}
public virtual List<Data> sp_Exp_SomeInputAndOutputWithDataAndReturn { get; set; }
public virtual string Result { get; set; }
public virtual string Return { get; set; }
}
}
}

View File

@@ -1,448 +0,0 @@
using DynamORM;
using DynamORM.Mapper;
using DynamORM.Objects;
using System;
using System.Collections.Generic;
using System.Text;
namespace Tester.RealTests
{
internal static class OddNullabeleProblem
{
public static void Test(DynamicDatabase db)
{
var ca = new mom_Contractors_Articles();
ca.mca_min_date_valid_out = 5;
ca.mca_mar_code = "342";
ca.mca_mar_name = "234";
ca.SetDynamicEntityState(DynamicEntityState.Existing);
ca.mca_min_date_valid_out = null;
ca.mca_mar_code = null;
ca.mca_mar_name = null;
var r = new DynamicRepositoryBase<mom_Contractors_Articles>(db);
r.Save(ca);
}
[Table(Name = "mom_Contractors_Articles")]
public class mom_Contractors_Articles : DynamicEntityBase
{
private System.Guid _mca_id;
[Column("mca_id", true, AllowNull = false)]
public virtual System.Guid mca_id
{
get { return _mca_id; }
set
{
if (_mca_id != value)
{
this.OnPropertyChanging("mca_id", _mca_id, value);
_mca_id = value;
}
}
}
private System.Nullable<System.Guid> _mca_mc_id;
[Column("mca_mc_id")]
public virtual System.Nullable<System.Guid> mca_mc_id
{
get { return _mca_mc_id; }
set
{
if (_mca_mc_id != value)
{
this.OnPropertyChanging("mca_mc_id", _mca_mc_id, value);
_mca_mc_id = value;
}
}
}
private System.Nullable<System.Guid> _mca_mar_id;
[Column("mca_mar_id")]
public virtual System.Nullable<System.Guid> mca_mar_id
{
get { return _mca_mar_id; }
set
{
if (_mca_mar_id != value)
{
this.OnPropertyChanging("mca_mar_id", _mca_mar_id, value);
_mca_mar_id = value;
}
}
}
private System.Nullable<System.Int32> _mca_min_date_valid_out;
[Column("mca_min_date_valid_out", AllowNull = true)]
public virtual System.Nullable<System.Int32> mca_min_date_valid_out
{
get { return _mca_min_date_valid_out; }
set
{
if (_mca_min_date_valid_out != value)
{
this.OnPropertyChanging("mca_min_date_valid_out", _mca_min_date_valid_out, value);
_mca_min_date_valid_out = value;
}
}
}
private System.Nullable<System.Int32> _mca_min_date_valid_in;
[Column("mca_min_date_valid_in")]
public virtual System.Nullable<System.Int32> mca_min_date_valid_in
{
get { return _mca_min_date_valid_in; }
set
{
if (_mca_min_date_valid_in != value)
{
this.OnPropertyChanging("mca_min_date_valid_in", _mca_min_date_valid_in, value);
_mca_min_date_valid_in = value;
}
}
}
private System.String _mca_mar_code;
[Column("mca_mar_code", AllowNull = true)]
public virtual System.String mca_mar_code
{
get { return _mca_mar_code; }
set
{
if (_mca_mar_code != value)
{
this.OnPropertyChanging("mca_mar_code", _mca_mar_code, value);
_mca_mar_code = value;
}
}
}
private System.String _mca_mar_name;
[Column("mca_mar_name", AllowNull = true)]
public virtual System.String mca_mar_name
{
get { return _mca_mar_name; }
set
{
if (_mca_mar_name != value)
{
this.OnPropertyChanging("mca_mar_name", _mca_mar_name, value);
_mca_mar_name = value;
}
}
}
private System.String _mca_gid;
[Column("mca_GID")]
public virtual System.String mca_GID
{
get { return _mca_gid; }
set
{
if (_mca_gid != value)
{
this.OnPropertyChanging("mca_GID", _mca_gid, value);
_mca_gid = value;
}
}
}
private System.Nullable<System.Decimal> _mca_percent_wz;
[Column("mca_percent_WZ")]
public virtual System.Nullable<System.Decimal> mca_percent_WZ
{
get { return _mca_percent_wz; }
set
{
if (_mca_percent_wz != value)
{
this.OnPropertyChanging("mca_percent_WZ", _mca_percent_wz, value);
_mca_percent_wz = value;
}
}
}
private System.Nullable<System.Decimal> _mca_percent_pz;
[Column("mca_percent_PZ")]
public virtual System.Nullable<System.Decimal> mca_percent_PZ
{
get { return _mca_percent_pz; }
set
{
if (_mca_percent_pz != value)
{
this.OnPropertyChanging("mca_percent_PZ", _mca_percent_pz, value);
_mca_percent_pz = value;
}
}
}
private System.Byte _mca_tss_ignore;
[Column("mca_tss_ignore", AllowNull = false)]
public virtual System.Byte mca_tss_ignore
{
get { return _mca_tss_ignore; }
set
{
if (_mca_tss_ignore != value)
{
this.OnPropertyChanging("mca_tss_ignore", _mca_tss_ignore, value);
_mca_tss_ignore = value;
}
}
}
private System.String _mca_mar_bar_code;
[Column("mca_mar_bar_code")]
public virtual System.String mca_mar_bar_code
{
get { return _mca_mar_bar_code; }
set
{
if (_mca_mar_bar_code != value)
{
this.OnPropertyChanging("mca_mar_bar_code", _mca_mar_bar_code, value);
_mca_mar_bar_code = value;
}
}
}
private System.Nullable<System.Guid> _mca_mus_id_modified;
[Column("mca_mus_id_modified")]
public virtual System.Nullable<System.Guid> mca_mus_id_modified
{
get { return _mca_mus_id_modified; }
set
{
if (_mca_mus_id_modified != value)
{
this.OnPropertyChanging("mca_mus_id_modified", _mca_mus_id_modified, value);
_mca_mus_id_modified = value;
}
}
}
private System.Nullable<System.DateTime> _mca_date_modified;
[Column("mca_date_modified")]
public virtual System.Nullable<System.DateTime> mca_date_modified
{
get { return _mca_date_modified; }
set
{
if (_mca_date_modified != value)
{
this.OnPropertyChanging("mca_date_modified", _mca_date_modified, value);
_mca_date_modified = value;
}
}
}
private System.String _mca_ean_label_unit;
[Column("mca_ean_label_unit")]
public virtual System.String mca_ean_label_unit
{
get { return _mca_ean_label_unit; }
set
{
if (_mca_ean_label_unit != value)
{
this.OnPropertyChanging("mca_ean_label_unit", _mca_ean_label_unit, value);
_mca_ean_label_unit = value;
}
}
}
private System.String _mca_ean_label_pckg;
[Column("mca_ean_label_pckg")]
public virtual System.String mca_ean_label_pckg
{
get { return _mca_ean_label_pckg; }
set
{
if (_mca_ean_label_pckg != value)
{
this.OnPropertyChanging("mca_ean_label_pckg", _mca_ean_label_pckg, value);
_mca_ean_label_pckg = value;
}
}
}
private System.Nullable<System.Decimal> _mca_price;
[Column("mca_price")]
public virtual System.Nullable<System.Decimal> mca_price
{
get { return _mca_price; }
set
{
if (_mca_price != value)
{
this.OnPropertyChanging("mca_price", _mca_price, value);
_mca_price = value;
}
}
}
private System.String _mca_currency_code;
[Column("mca_currency_code")]
public virtual System.String mca_currency_code
{
get { return _mca_currency_code; }
set
{
if (_mca_currency_code != value)
{
this.OnPropertyChanging("mca_currency_code", _mca_currency_code, value);
_mca_currency_code = value;
}
}
}
private System.Nullable<System.Int32> _mca_time_ahead;
[Column("mca_time_ahead")]
public virtual System.Nullable<System.Int32> mca_time_ahead
{
get { return _mca_time_ahead; }
set
{
if (_mca_time_ahead != value)
{
this.OnPropertyChanging("mca_time_ahead", _mca_time_ahead, value);
_mca_time_ahead = value;
}
}
}
private System.Nullable<System.Decimal> _mca_last_price;
[Column("mca_last_price")]
public virtual System.Nullable<System.Decimal> mca_last_price
{
get { return _mca_last_price; }
set
{
if (_mca_last_price != value)
{
this.OnPropertyChanging("mca_last_price", _mca_last_price, value);
_mca_last_price = value;
}
}
}
private System.Nullable<System.Decimal> _mca_logistic_minimum_value;
[Column("mca_logistic_minimum_value")]
public virtual System.Nullable<System.Decimal> mca_logistic_minimum_value
{
get { return _mca_logistic_minimum_value; }
set
{
if (_mca_logistic_minimum_value != value)
{
this.OnPropertyChanging("mca_logistic_minimum_value", _mca_logistic_minimum_value, value);
_mca_logistic_minimum_value = value;
}
}
}
private System.Nullable<System.Decimal> _mca_logistic_minimum_mplt;
[Column("mca_logistic_minimum_mplt")]
public virtual System.Nullable<System.Decimal> mca_logistic_minimum_mplt
{
get { return _mca_logistic_minimum_mplt; }
set
{
if (_mca_logistic_minimum_mplt != value)
{
this.OnPropertyChanging("mca_logistic_minimum_mplt", _mca_logistic_minimum_mplt, value);
_mca_logistic_minimum_mplt = value;
}
}
}
private System.Nullable<System.Decimal> _mca_logistic_minimum_qty;
[Column("mca_logistic_minimum_qty")]
public virtual System.Nullable<System.Decimal> mca_logistic_minimum_qty
{
get { return _mca_logistic_minimum_qty; }
set
{
if (_mca_logistic_minimum_qty != value)
{
this.OnPropertyChanging("mca_logistic_minimum_qty", _mca_logistic_minimum_qty, value);
_mca_logistic_minimum_qty = value;
}
}
}
private System.Nullable<System.Decimal> _mca_req_kj_percent;
[Column("mca_req_kj_percent")]
public virtual System.Nullable<System.Decimal> mca_req_kj_percent
{
get { return _mca_req_kj_percent; }
set
{
if (_mca_req_kj_percent != value)
{
this.OnPropertyChanging("mca_req_kj_percent", _mca_req_kj_percent, value);
_mca_req_kj_percent = value;
}
}
}
private System.Nullable<System.Decimal> _mca_min_order_qty;
[Column("mca_min_order_qty")]
public virtual System.Nullable<System.Decimal> mca_min_order_qty
{
get { return _mca_min_order_qty; }
set
{
if (_mca_min_order_qty != value)
{
this.OnPropertyChanging("mca_min_order_qty", _mca_min_order_qty, value);
_mca_min_order_qty = value;
}
}
}
private System.Byte _mca_default_contractor;
[Column("mca_default_contractor", AllowNull = false)]
public virtual System.Byte mca_default_contractor
{
get { return _mca_default_contractor; }
set
{
if (_mca_default_contractor != value)
{
this.OnPropertyChanging("mca_default_contractor", _mca_default_contractor, value);
_mca_default_contractor = value;
}
}
}
}
}
}

View File

@@ -1,32 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Copyright>Copyright © RUSSEK Software 2012-2022</Copyright>
<Company>RUSSEK Software</Company>
<Authors>Grzegorz Russek</Authors>
<VersionPrefix>1.2.1</VersionPrefix>
<RepositoryUrl>https://svn.dr4cul4.pl/svn/DynamORM/</RepositoryUrl>
<PackageProjectUrl>https://dr4cul4.pl</PackageProjectUrl>
<Product>DynamORM</Product>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<OutputType>Exe</OutputType>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="System.Data.Common" Version="4.3.0" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.6" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('net4')) AND '$(MSBuildRuntimeType)' == 'Core' AND '$(OS)' != 'Windows_NT'">
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\DynamORM\DynamORM.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>

18
scripts/docker/build.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
IMAGE="${DOTNET_IMAGE:-mcr.microsoft.com/dotnet/sdk:10.0}"
docker run --rm \
-v "${ROOT_DIR}:/workspace" \
-w /workspace \
"${IMAGE}" \
bash -lc "
set -euo pipefail
dotnet --info
dotnet restore DynamORM.sln
dotnet build DynamORM.sln -c Release --no-restore
dotnet pack DynamORM/DynamORM.csproj -c Release --no-build -o /workspace/artifacts/nuget
"

11
scripts/docker/ci-local.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
"${ROOT_DIR}/scripts/docker/generate-amalgamation.sh"
"${ROOT_DIR}/scripts/docker/build.sh"
"${ROOT_DIR}/scripts/docker/test.sh"
"${ROOT_DIR}/scripts/docker/mono-net40-smoke.sh"
echo "All docker checks completed."

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
IMAGE="${DOTNET_IMAGE:-mcr.microsoft.com/dotnet/sdk:10.0}"
docker run --rm \
-v "${ROOT_DIR}:/workspace" \
-w /workspace \
"${IMAGE}" \
bash -lc "
set -euo pipefail
dotnet run --project AmalgamationTool/AmalgamationTool.csproj -- DynamORM AmalgamationTool/DynamORM.Amalgamation.cs
"

View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
IMAGE="${MONO_IMAGE:-mono:6.12}"
docker run --rm \
-v "${ROOT_DIR}:/workspace" \
-w /workspace \
"${IMAGE}" \
bash -lc "
set -euo pipefail
mono --version
mcs -langversion:latest -target:library -sdk:4 \
-r:System \
-r:System.Core \
-r:System.Data \
-r:Microsoft.CSharp \
-out:/tmp/DynamORM.Net40.Smoke.dll \
AmalgamationTool/DynamORM.Amalgamation.cs
ls -lh /tmp/DynamORM.Net40.Smoke.dll
"

15
scripts/docker/test.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
IMAGE="${DOTNET_IMAGE:-mcr.microsoft.com/dotnet/sdk:10.0}"
docker run --rm \
-v "${ROOT_DIR}:/workspace" \
-w /workspace \
"${IMAGE}" \
bash -lc "
set -euo pipefail
dotnet test DynamORM.Tests/DynamORM.Tests.csproj -c Release
"