annotate UnitTests/Fluent/MockDataBase/MockDb.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Collections.Generic;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using System.Linq;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using Microsoft.VisualStudio.TestTools.UnitTesting;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 namespace BLToolkit.Fluent.Test.MockDataBase
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 /// DB configure start point
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public partial class MockDb : IDbConnection
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 private int _cmdIndex = -1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 private readonly List<MockCommandData> _commands = new List<MockCommandData>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 public List<MockCommandData> Commands { get { return _commands; } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 private MockCommandData NextCommand()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 _cmdIndex++;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 if (_cmdIndex == _commands.Count)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 Assert.Fail("Command not define");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 return _commands[_cmdIndex];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 /// New IDataReader query
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 /// <param name="fields"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 public MockDb NewReader(params string[] fields)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 CurrentSetupCommandData = new MockCommandData { ReaderResult = new MockReaderData() };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 return NextResult(fields);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 /// Next result into current IDataReader context
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 /// <param name="fields"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 public MockDb NextResult(params string[] fields)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 var data = new MockReaderResultData();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 data.SetNames(fields);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 CurrentSetupCommandData.ReaderResult.CurrentResult = data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 return this;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 public MockDb NewRow(params object[] values)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 CurrentSetupCommandData.ReaderResult.CurrentResult.Values.Add(values);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 return this;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 private MockCommandData CurrentSetupCommandData
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 get { return _commands.LastOrDefault(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 set { _commands.Add(value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 public MockDb NewNonQuery(int value = 1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 CurrentSetupCommandData = new MockCommandData { NonQueryResult = value };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 return this;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 }