From df4c301f3a9948e92e44651ea5f59bf82465c871 Mon Sep 17 00:00:00 2001 From: Marc Gravell Date: Fri, 7 Apr 2017 14:43:40 +0100 Subject: [PATCH] Add tests for the too few/too many columns scenarios for value-tuples; happy to discuss alternative expectations --- Dapper.Tests/TupleTests.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Dapper.Tests/TupleTests.cs b/Dapper.Tests/TupleTests.cs index 81dc23ca..bce9b090 100644 --- a/Dapper.Tests/TupleTests.cs +++ b/Dapper.Tests/TupleTests.cs @@ -34,6 +34,26 @@ namespace Dapper.Tests val.name.IsEqualTo("Fred"); } + + [Fact] + public void TupleReturnValue_TooManyColumns_Ignored() + { + var val = connection.QuerySingle<(int id, string name)>("select 42, 'Fred', 123"); + val.id.IsEqualTo(42); + val.name.IsEqualTo("Fred"); + } + + + [Fact] + public void TupleReturnValue_TooFewColumns_Unmapped() + { + // I'm very wary of making this throw, but I can also see some sense in pointing out the oddness + var val = connection.QuerySingle<(int id, string name, int extra)>("select 42, 'Fred'"); + val.id.IsEqualTo(42); + val.name.IsEqualTo("Fred"); + val.extra.IsEqualTo(0); + } + [Fact] public void TupleReturnValue_Works_NamesIgnored() {