Mercurial > pub > bltoolkit
comparison UnitTests/Linq/Exceptions/DmlTest.cs @ 0:f990fcb411a9
Копия текущей версии из github
| author | cin |
|---|---|
| date | Thu, 27 Mar 2014 21:46:09 +0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:f990fcb411a9 |
|---|---|
| 1 using System; | |
| 2 using BLToolkit.Data.Linq; | |
| 3 | |
| 4 using NUnit.Framework; | |
| 5 | |
| 6 namespace Data.Exceptions | |
| 7 { | |
| 8 using Linq; | |
| 9 using Linq.Model; | |
| 10 | |
| 11 [TestFixture] | |
| 12 public class DmlTest : TestBase | |
| 13 { | |
| 14 [Test, ExpectedException(typeof(LinqException))] | |
| 15 public void InsertOrUpdate1() | |
| 16 { | |
| 17 try | |
| 18 { | |
| 19 ForEachProvider(db => | |
| 20 db.Doctor.InsertOrUpdate( | |
| 21 () => new Doctor | |
| 22 { | |
| 23 PersonID = 10, | |
| 24 Taxonomy = "....", | |
| 25 }, | |
| 26 p => new Doctor | |
| 27 { | |
| 28 Taxonomy = "...", | |
| 29 })); | |
| 30 } | |
| 31 catch (Exception ex) | |
| 32 { | |
| 33 Assert.IsTrue(ex.Message.StartsWith("InsertOrUpdate method requires the 'Doctor' table to have a primary key.")); | |
| 34 throw; | |
| 35 } | |
| 36 } | |
| 37 | |
| 38 [Test, ExpectedException(typeof(LinqException))] | |
| 39 public void InsertOrUpdate2() | |
| 40 { | |
| 41 try | |
| 42 { | |
| 43 ForEachProvider(db => | |
| 44 db.Patient.InsertOrUpdate( | |
| 45 () => new Patient | |
| 46 { | |
| 47 Diagnosis = "....", | |
| 48 }, | |
| 49 p => new Patient | |
| 50 { | |
| 51 Diagnosis = "...", | |
| 52 })); | |
| 53 } | |
| 54 catch (Exception ex) | |
| 55 { | |
| 56 Assert.IsTrue(ex.Message.StartsWith("InsertOrUpdate method requires the 'Patient.PersonID' field to be included in the insert setter.")); | |
| 57 throw; | |
| 58 } | |
| 59 } | |
| 60 } | |
| 61 } |
