Commit db08e25d authored by Sam Saffron's avatar Sam Saffron

completed multi map implementation

parent bc344d0c
This diff is collapsed.
......@@ -6,7 +6,7 @@
namespace SqlMapper
{
static class TestAssertions
static class Assert
{
public static void IsEqualTo<T>(this T obj, T other)
......@@ -320,6 +320,44 @@ public void TestMultiMapDynamic()
connection.Execute("drop table #Users drop table #Posts");
}
public void TestMultiMappingVariations()
{
var sql = "select 1 as Id, 'a' as Content, 2 as Id, 'b' as Content, 3 as Id, 'c' as Content, 4 as Id, 'd' as Content, 5 as Id, 'e' as Content";
var mapped = connection.Query<dynamic, dynamic, dynamic>(sql, (a, b, c) => { a.B = b; a.C = c; }).First();
Assert.IsEqualTo(mapped.Id, 1);
Assert.IsEqualTo(mapped.Content, "a");
Assert.IsEqualTo(mapped.B.Id, 2);
Assert.IsEqualTo(mapped.B.Content, "b");
Assert.IsEqualTo(mapped.C.Id, 3);
Assert.IsEqualTo(mapped.C.Content, "c");
mapped = connection.Query<dynamic, dynamic, dynamic, dynamic>(sql, (a, b, c, d) => { a.B = b; a.C = c; a.C.D = d; }).First();
Assert.IsEqualTo(mapped.Id, 1);
Assert.IsEqualTo(mapped.Content, "a");
Assert.IsEqualTo(mapped.B.Id, 2);
Assert.IsEqualTo(mapped.B.Content, "b");
Assert.IsEqualTo(mapped.C.Id, 3);
Assert.IsEqualTo(mapped.C.Content, "c");
Assert.IsEqualTo(mapped.C.D.Id, 4);
Assert.IsEqualTo(mapped.C.D.Content, "d");
mapped = connection.Query<dynamic, dynamic, dynamic, dynamic, dynamic>(sql, (a, b, c, d, e) => { a.B = b; a.C = c; a.C.D = d; a.E = e; }).First();
Assert.IsEqualTo(mapped.Id, 1);
Assert.IsEqualTo(mapped.Content, "a");
Assert.IsEqualTo(mapped.B.Id, 2);
Assert.IsEqualTo(mapped.B.Content, "b");
Assert.IsEqualTo(mapped.C.Id, 3);
Assert.IsEqualTo(mapped.C.Content, "c");
Assert.IsEqualTo(mapped.C.D.Id, 4);
Assert.IsEqualTo(mapped.C.D.Content, "d");
Assert.IsEqualTo(mapped.E.Id, 5);
Assert.IsEqualTo(mapped.E.Content, "e");
}
class InheritanceTest1
{
public string Base1 { get; set; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment