Mercurial > pub > bltoolkit
comparison HowTo/DataAccess/ActualType.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.Collections.Generic; | |
2 | |
3 using NUnit.Framework; | |
4 | |
5 using BLToolkit.DataAccess; | |
6 | |
7 namespace HowTo.DataAccess | |
8 { | |
9 [TestFixture] | |
10 public class ActualType | |
11 { | |
12 public interface IName | |
13 { | |
14 string Name { get; } | |
15 } | |
16 | |
17 public class NameBase : IName | |
18 { | |
19 private string _name; | |
20 public string Name { get { return _name; } set { _name = value; } } | |
21 } | |
22 | |
23 public class Name1 : NameBase {} | |
24 public class Name2 : NameBase {} | |
25 | |
26 [/*[a]*/ActualType/*[/a]*/(typeof(IName), typeof(/*[a]*/Name1/*[/a]*/))] | |
27 public abstract class TestAccessor : DataAccessor | |
28 { | |
29 [SqlQuery("SELECT 'John' as Name")] | |
30 public abstract IName GetName1(); | |
31 | |
32 [SqlQuery("SELECT 'John' as Name"), /*[a]*/ObjectType/*[/a]*/(typeof(/*[a]*/Name2/*[/a]*/))] | |
33 public abstract IName GetName2(); | |
34 | |
35 [SqlQuery("SELECT 'John' as Name")] | |
36 public abstract IList<IName> GetName1List(); | |
37 | |
38 [SqlQuery("SELECT 'John' as Name"), /*[a]*/ObjectType/*[/a]*/(typeof(/*[a]*/Name2/*[/a]*/))] | |
39 public abstract IList<IName> GetName2List(); | |
40 | |
41 [SqlQuery("SELECT 1 as ID, 'John' as Name"), Index("@ID")] | |
42 public abstract IDictionary<int, IName> GetName1Dictionary(); | |
43 | |
44 [SqlQuery("SELECT 1 as ID, 'John' as Name"), Index("@ID"), /*[a]*/ObjectType/*[/a]*/(typeof(/*[a]*/Name2/*[/a]*/))] | |
45 public abstract IDictionary<int, IName> GetName2Dictionary(); | |
46 } | |
47 | |
48 [Test] | |
49 public void Test() | |
50 { | |
51 TestAccessor ta = DataAccessor.CreateInstance<TestAccessor>(); | |
52 | |
53 Assert.IsTrue(ta.GetName1() is Name1); | |
54 Assert.IsTrue(ta.GetName2() is Name2); | |
55 Assert.IsTrue(ta.GetName1List()[0] is Name1); | |
56 Assert.IsTrue(ta.GetName2List()[0] is Name2); | |
57 Assert.IsTrue(ta.GetName1Dictionary()[1] is Name1); | |
58 Assert.IsTrue(ta.GetName2Dictionary()[1] is Name2); | |
59 } | |
60 } | |
61 } |