1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
/*
* Created by: Mo Khan
* Created: Tuesday, May 15, 2007
*/
using System;
using System.Collections.Generic;
using NHibernateQuickStart.Domain;
using NUnit.Framework;
namespace NHibernateQuickStart.Task.Test {
[TestFixture]
public class DataStoreTest {
private IDataStore _store;
[SetUp]
public void SetUp( ) {
_store = new DataStore( );
}
[Test]
public void GetStudents_ShouldReturnAllStudents( ) {
IEnumerable< Student > students = _store.GetStudents( );
Assert.IsNotNull( students );
foreach( Student student in students ) {
Console.WriteLine( student.FirstName + student.LastName );
}
}
[Test]
public void GetDepartments_ShouldReturnAllDepartments( ) {
ICollection< Department > departments = _store.GetDepartments( );
Assert.IsNotNull( departments );
foreach( Department department in departments ) {
Console.WriteLine( department.Name );
}
}
[Test]
public void GetDepartments_ShouldReturnAllDepartmentsSortedByName( ) {
DepartmentNameComparer comparer = new DepartmentNameComparer( );
ICollection< Department > departments = _store.GetDepartments( comparer );
Assert.IsNotNull( departments );
Department lastDepartment = null;
foreach( Department department in departments ) {
if( lastDepartment != null ) {
if( department.Name.CompareTo( lastDepartment.Name ) > 0 ) {
Assert.Fail( "The department names are not sorted." );
}
}
lastDepartment = department;
}
}
[Test]
public void GetProfessors_ShouldReturnAllProfessors( ) {
ICollection< Professor > professors = _store.GetProfessors( );
Assert.IsNotNull( professors );
foreach( Professor professor in professors ) {
Console.WriteLine( String.Format( "{0} {1}", professor.FirstName, professor.LastName ) );
}
}
[Test]
public void GetUniversityClasses_ShouldReturnAllClasses( ) {
ICollection< UniversityClass > classes = _store.GetUniversityClasses( );
Assert.IsNotNull( classes );
foreach( UniversityClass universityClass in classes ) {
Console.WriteLine( String.Format( "{0} {1}", universityClass.Name, universityClass.Department ) );
}
}
[Test]
public void SaveDepartment_ShouldInsertNewDepartment( ) {
bool foundDepartment = false;
const String departmentName = "ICT";
Department department = new Department( departmentName );
_store.SaveDepartment( department );
ICollection< Department > departments = _store.GetDepartments( );
Assert.IsNotNull( departments, "Should have at least returned the department we inserted." );
foreach( Department department1 in departments ) {
if( department1.Name == department.Name ) {
foundDepartment = true;
break;
}
}
if( !foundDepartment ) {
Assert.Fail( "Department was not found in the database." );
}
}
[Test]
public void SaveStudent_ShouldInsertNewStudentAndRetrieveItBackOut( ) {
const string firstName = "firstname";
const string lastname = "lastname";
bool found = false;
_store.SaveStudent( new Student( null, firstName, lastname, "123456" ) );
ICollection< Student > students = _store.GetStudents( );
Assert.IsNotNull( students );
foreach( Student student in students ) {
if( student.FirstName == firstName && student.LastName == lastname ) {
found = true;
break;
}
}
if( !found ) {
Assert.Fail( "Could Not find the student we saved." );
}
}
[Test]
public void FindStudent_ShouldReturnStudentWithIdOne( ) {
int id = _store.SaveStudent( new Student( "mo", "k", "12340988" ) );
Student student = _store.FindStudent( id );
Assert.IsNotNull( student );
Assert.IsTrue( student.Id == id );
}
[Test]
public void SaveStudent_ShouldAddTwoStudents( ) {
IList< Student > students = new List< Student >( );
students.Add( new Student( "joe", "brown", "123456789" ) );
students.Add( new Student( "foo", "bar", "987654321" ) );
_store.SaveStudent( students );
ICollection< Student > foundStudents = _store.GetStudents( );
Assert.IsNotNull( foundStudents );
Assert.IsTrue( foundStudents.Count > 2 );
}
[Test]
public void DeleteAllStudents_ShouldDeleteAllStudentRecords( ) {
_store.DeleteAllStudents( );
ICollection< Student > students = _store.GetStudents( );
Assert.IsTrue( students.Count == 0 );
}
[Test]
public void DeleteAllDepartments_ShouldDeleteAllDepartmentRecords( ) {
_store.DeleteAllDepartments( );
ICollection< Department > departments = _store.GetDepartments( );
Assert.IsTrue( departments.Count == 0 );
}
[Test]
public void DeleteStudent_ShouldDeleteOnlyASingleDepartment( ) {
int id = _store.SaveStudent( new Student( "bill", "G", "123987504" ) );
Student student = _store.FindStudent( id );
_store.DeleteStudent( student );
student = _store.FindStudent( id );
Assert.IsNull( student );
}
}
}
|