diff --git a/Simple.Data.SqlTest/GetTests.cs b/Simple.Data.SqlTest/GetTests.cs index 80df8238..283a7e84 100644 --- a/Simple.Data.SqlTest/GetTests.cs +++ b/Simple.Data.SqlTest/GetTests.cs @@ -30,6 +30,27 @@ public void GetWithNonExistentPrimaryKeyShouldReturnNull() Assert.IsNull(user); } + [Test] + public void GetWithSelectClauseShouldRestrictColumn() + { + var db = DatabaseHelper.Open(); + + var actual = db.Users.Select(db.Users.Name, db.Users.Age).Get(1); + + Assert.AreEqual("Bob", actual.Name); + Assert.AreEqual(32, actual.Age); + Assert.Throws(() => Console.WriteLine(actual.Id), "Column 'Id' not found."); + Assert.Throws(() => Console.WriteLine(actual.Password), "Column 'Password' not found."); + } + + [Test] + public void GetWithMisplacedSelectClauseThrowsException() + { + var db = DatabaseHelper.Open(); + Assert.Throws( + () => db.Users.Get(1).Select(db.Users.Name, db.Users.Age)); + } + [Test] public void SelectClauseWithGetScalarShouldLimitQuery() {