using Microsoft.EntityFrameworkCore; using NUnit.Framework; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UserService.DatabaseLayer.DataModels; using UserService.Infrastructure.DataModels; namespace UserService.Test { public class Tests { [SetUp] public void Setup() { } [Test] public async Task Test1() { await using var db = new UserServiceDbContext(); var user = await db.Users.FirstOrDefaultAsync().ConfigureAwait(false); var secGroup = await db.SecurityGroups.FirstOrDefaultAsync().ConfigureAwait(false); var ous = await db.OrganizationUnits.ToListAsync().ConfigureAwait(false); var mo = await db.UserMembers.ToListAsync().ConfigureAwait(false); var securityGroupsOfUser = user.GetSecurityGroups(); var usersOfSecurityGroup = secGroup.GetUsers(); //var testGroup = new SecurityGroup {CommonName = "Test", Parent = ous.Last()}; //await db.SecurityGroups.AddAsync(testGroup); //var testgroup = await db.SecurityGroups.FindAsync(1); //testgroup.Members.AddAsync(new UserMember{MemberId = testgroup.Id, UserId = user.Id}); //await db.SaveChangesAsync(); Assert.Pass(); } [Test] public async Task Test2() { await using var db = new UserServiceDbContext(); var ous = await db.OrganizationUnits.ToListAsync().ConfigureAwait(false); var sb = new StringBuilder(); NewMethod(ous, null, 0, ref sb); var result = sb.ToString(); Assert.Pass(); } private static void NewMethod(IEnumerable ous, Node parent, int level, ref StringBuilder sb) { foreach (var unit in ous.Where(x => x.Parent == parent)) { sb.AppendLine(string.Concat(Enumerable.Repeat(' ', 4 * level)) + unit.CommonName); NewMethod(unit.Children.OfType(), unit, level + 1, ref sb); } } } }