public static void Main() { // item 233 Bar db = new Bar(); // item 160 Bar.ICompany yellow = db.InsertCompany(0); Bar.ICompany grey = db.InsertCompany(0); // item 161 Bar.IDepartment yellow_m = db.InsertDepartment(0, "Yellow marketing"); Bar.IDepartment grey_m = db.InsertDepartment(0, "Grey marketing"); // item 162 Bar.IEmployee grey_e = db.InsertEmployee(0, "Mark", grey_m); Bar.IEmployee grey_e2 = db.InsertEmployee(0, "John", null); // item 178 ExpectException(() => db.InsertEmployee(0, "Mark", grey_m)); // item 163 var fake = new FakeDepartment { Id = 1000, Title = "Fake" }; ExpectException(() => db.InsertEmployee(0, "Jack", fake)); // item 164 db.SetCompanyMarketing(yellow, yellow_m); db.SetCompanyMarketing(grey, grey_m); // item 165 db.SetEmployeeDepartment(grey_e2, grey_m); // item 169 Equal(yellow_m, db.GetDepartment(yellow_m.Id)); // item 166 ExpectException(() => db.DeleteDepartment(yellow_m)); // item 167 db.DeleteCompany(yellow); // item 168 Equal(null, db.GetDepartment(yellow_m.Id)); Equal(null, db.GetCompany(yellow.Id)); // item 170 ExpectException(() => db.DeleteCompany(grey)); // item 171 db.SetEmployeeDepartment(grey_e, null); // item 172 db.DeleteEmployee(grey_e2); // item 173 db.DeleteCompany(grey); // item 174 Equal(null, db.GetCompany(grey.Id)); Equal(null, db.GetDepartment(grey_m.Id)); }
public static void Main() { // item 251 Bar db = new Bar(); // item 252 Bar.IDepartment yellow_m = db.InsertDepartment(0, "Yellow marketing"); Bar.IDepartment grey_m = db.InsertDepartment(0, "Grey marketing"); // item 253 Bar.IEmployee mark = db.InsertEmployee(10, "Mark"); Bar.IEmployee john = db.InsertEmployee(20, "John"); Bar.IEmployee scott = db.InsertEmployee(30, "Scott"); // item 188 db.AddToDepartmentEmployees(yellow_m, mark); // item 238 db.AddToDepartmentEmployees(yellow_m, null); // item 213 var fake = new FakeEmployee { Id = 800, Name = "fake" }; ExpectException(() => db.AddToDepartmentEmployees(yellow_m, fake)); // item 212 db.AddToDepartmentEmployees(grey_m, mark); db.AddToDepartmentEmployees(grey_m, john); db.AddToDepartmentEmployees(grey_m, scott); // item 254 var grey_employees = ( from e in grey_m.Employees select e.Id).ToList(); var yellow_employees = ( from e in yellow_m.Employees select e.Id).ToList(); grey_employees.Sort(); yellow_employees.Sort(); // item 255 Equal(new int[] { 10, 20, 30 }, grey_employees); Equal(new int[] { 10 }, yellow_employees); // item 256 Equal(new Bar.IDepartment[] { yellow_m, grey_m }, mark.Departments); Equal(new Bar.IDepartment[] { grey_m }, john.Departments); Equal(new Bar.IDepartment[] { grey_m }, scott.Departments); // item 227 Bar.ICompany company = db.InsertCompany(800); // item 228 db.SetEmployeeCompany(mark, company); db.SetEmployeeCompany(john, company); db.SetEmployeeCompany(scott, company); // item 302 db.SetDepartmentCompany(grey_m, company); db.SetDepartmentCompany(yellow_m, company); // item 230 db.RemoveFromDepartmentEmployees(yellow_m, mark); // item 231 db.RemoveFromDepartmentEmployees(grey_m, mark); db.RemoveFromDepartmentEmployees(grey_m, john); db.RemoveFromDepartmentEmployees(grey_m, scott); // item 232 Equal(0, grey_m.Employees.Count); Equal(0, yellow_m.Employees.Count); // item 233 Equal(0, mark.Departments.Count); Equal(0, john.Departments.Count); Equal(0, scott.Departments.Count); // item 234 db.AddToDepartmentEmployees(yellow_m, john); // item 303 db.AddToDepartmentEmployees(grey_m, mark); db.AddToDepartmentEmployees(grey_m, john); db.AddToDepartmentEmployees(grey_m, scott); // item 236 Equal(new Bar.IEmployee[] { mark, john, scott }, grey_m.Employees); Equal(new Bar.IEmployee[] { john }, yellow_m.Employees); // item 237 Equal(new Bar.IDepartment[] { yellow_m, grey_m }, john.Departments); Equal(new Bar.IDepartment[] { grey_m }, mark.Departments); Equal(new Bar.IDepartment[] { grey_m }, scott.Departments); // item 239 db.DeleteEmployee(scott); // item 240 Equal(new Bar.IEmployee[] { mark, john }, grey_m.Employees); // item 241 db.DeleteDepartment(yellow_m); // item 242 Equal(new Bar.IDepartment[] { grey_m }, john.Departments); // item 243 db.DeleteCompany(company); // item 244 Equal(0, db.EmployeeCount()); Equal(0, db.DepartmentCount()); }