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 } |