public async void ReplaceAsync_Works_DataMatches(User postUser, User replaceUser, UserCompare equalityComparer, List <EfRepo.UserRepository> suts, SqlRepo.UserRepository sqlUserRepo) { var savedUsers = new List <User>(); foreach (var sut in suts) { var postEfUser = await sut.CreateAsync(postUser); replaceUser.Id = postEfUser.Id; await sut.ReplaceAsync(replaceUser); var replacedUser = await sut.GetByIdAsync(replaceUser.Id); savedUsers.Add(replacedUser); } var postSqlUser = await sqlUserRepo.CreateAsync(postUser); replaceUser.Id = postSqlUser.Id; await sqlUserRepo.ReplaceAsync(replaceUser); savedUsers.Add(await sqlUserRepo.GetByIdAsync(replaceUser.Id)); var distinctItems = savedUsers.Distinct(equalityComparer); Assert.True(!distinctItems.Skip(1).Any()); }
public async void DeleteAsync_Works_DataMatches(User user, UserCompare equalityComparer, List <EfRepo.UserRepository> suts, SqlRepo.UserRepository sqlUserRepo) { foreach (var sut in suts) { var postEfUser = await sut.CreateAsync(user); sut.ClearChangeTracking(); var savedEfUser = await sut.GetByIdAsync(postEfUser.Id); Assert.True(savedEfUser != null); sut.ClearChangeTracking(); await sut.DeleteAsync(savedEfUser); sut.ClearChangeTracking(); savedEfUser = await sut.GetByIdAsync(savedEfUser.Id); Assert.True(savedEfUser == null); } var postSqlUser = await sqlUserRepo.CreateAsync(user); var savedSqlUser = await sqlUserRepo.GetByIdAsync(postSqlUser.Id); Assert.True(savedSqlUser != null); await sqlUserRepo.DeleteAsync(postSqlUser); savedSqlUser = await sqlUserRepo.GetByIdAsync(postSqlUser.Id); Assert.True(savedSqlUser == null); }
public async void CreateAsync_Works_DataMatches( User user, UserCompare equalityComparer, List <EfRepo.UserRepository> suts, SqlRepo.UserRepository sqlUserRepo ) { var savedUsers = new List <User>(); foreach (var sut in suts) { var postEfUser = await sut.CreateAsync(user); sut.ClearChangeTracking(); var savedUser = await sut.GetByIdAsync(postEfUser.Id); savedUsers.Add(savedUser); } var sqlUser = await sqlUserRepo.CreateAsync(user); savedUsers.Add(await sqlUserRepo.GetByIdAsync(sqlUser.Id)); var distinctItems = savedUsers.Distinct(equalityComparer); Assert.True(!distinctItems.Skip(1).Any()); }
public async void SearchAsync_Works_DataMatches(User user, int skip, int take, UserCompare equalityCompare, List <EfRepo.UserRepository> suts, SqlRepo.UserRepository sqlUserRepo) { var searchedEfUsers = new List <User>(); foreach (var sut in suts) { var postEfUser = await sut.CreateAsync(user); sut.ClearChangeTracking(); var searchedEfUsersCollection = await sut.SearchAsync(postEfUser.Email.ToUpperInvariant(), skip, take); searchedEfUsers.Concat(searchedEfUsersCollection.ToList()); } var postSqlUser = await sqlUserRepo.CreateAsync(user); var searchedSqlUsers = await sqlUserRepo.SearchAsync(postSqlUser.Email.ToUpperInvariant(), skip, take); var distinctItems = searchedEfUsers.Concat(searchedSqlUsers).Distinct(equalityCompare); Assert.True(!distinctItems.Skip(1).Any()); }
public async void GetBySsoUserAsync_Works_DataMatches(User user, Organization org, SsoUser ssoUser, UserCompare equalityComparer, List <EfRepo.UserRepository> suts, List <EfRepo.SsoUserRepository> ssoUserRepos, List <EfRepo.OrganizationRepository> orgRepos, SqlRepo.UserRepository sqlUserRepo, SqlRepo.SsoUserRepository sqlSsoUserRepo, SqlRepo.OrganizationRepository sqlOrgRepo) { var returnedList = new List <User>(); foreach (var sut in suts) { var i = suts.IndexOf(sut); var postEfUser = await sut.CreateAsync(user); sut.ClearChangeTracking(); var efOrg = await orgRepos[i].CreateAsync(org); sut.ClearChangeTracking(); ssoUser.UserId = postEfUser.Id; ssoUser.OrganizationId = efOrg.Id; var postEfSsoUser = await ssoUserRepos[i].CreateAsync(ssoUser); sut.ClearChangeTracking(); var returnedUser = await sut.GetBySsoUserAsync(postEfSsoUser.ExternalId.ToUpperInvariant(), efOrg.Id); returnedList.Add(returnedUser); } var sqlUser = await sqlUserRepo.CreateAsync(user); var sqlOrganization = await sqlOrgRepo.CreateAsync(org); ssoUser.UserId = sqlUser.Id; ssoUser.OrganizationId = sqlOrganization.Id; var postSqlSsoUser = await sqlSsoUserRepo.CreateAsync(ssoUser); var returnedSqlUser = await sqlUserRepo .GetBySsoUserAsync(postSqlSsoUser.ExternalId, sqlOrganization.Id); returnedList.Add(returnedSqlUser); var distinctItems = returnedList.Distinct(equalityComparer); Assert.True(!distinctItems.Skip(1).Any()); }
public DataTable FormatMonitor() { DataTable dt = new DataTable(); dt.Columns.Add("ID"); dt.Columns.Add("Имя участника"); foreach (string s in _short_names) { dt.Columns.Add(s); } dt.Columns.Add("Всего решено"); dt.Columns.Add("Время"); dt.Columns.Add("Место"); UserCompare uc = new UserCompare(); int count = 1; init_db(); for (int i = 0; i < _users.Count; i++) { DataRow dr = dt.NewRow(); UserData ud = (UserData)_users[i]; dr[0] = ud.UID; dr[1] = _db.GetUser(ud.UID).Fullname; for (int j = 0; j < _prob_nums.Length; j++) { if (ud.Problems[j].Result > 0) { // Write a result to the problem's column dr[2 + j] = "<span style='color:blue;'>+"; if (ud.Problems[j].Result != 1) { dr[2 + j] += (ud.Problems[j].Result - 1).ToString(); } dr[2 + j] += "</span><span style='font-size:smaller;display:block;'>("; dr[2 + j] += HtmlFunctions.BeautifyTimeSpan( TimeUtils.ZeroTimeSpan(ud.Problems[j].AcTime - _con.Beginning), true); dr[2 + j] += ")</span>"; } else if (ud.Problems[j].Result < 0) { dr[2 + j] = "<span style='color:red;'>"; dr[2 + j] += ud.Problems[j].Result.ToString(); dr[2 + j] += "</span>"; } else { dr[2 + j] = ""; } } dr[dr.Table.Columns.Count - 3] = ud.Solved; dr[dr.Table.Columns.Count - 2] = ud.Time; if (i > 0 && uc.Compare(_users[i], _users[i - 1]) != 0) { count++; } dr[dr.Table.Columns.Count - 1] = count; dt.Rows.Add(dr); } close_db(); return(dt); }
public UserComparer(UserCompare userCompare) { this.userCompare = userCompare; }