static void Main(string[] args) { var input = new List<string>(); //Read input Console.WriteLine("Please insert input (input exit for end of file):"); while (true) { var line = Console.ReadLine(); if (string.IsNullOrWhiteSpace(line) || line.Equals("Exit")) { break; } input.Add(line); } //Create array of users and get all permission var structureService = new StructureService(); try { var inputs = structureService.SeparateUsersAndQueries(input); var company = structureService.CreateCompanyStruture(inputs.Item1); var usersPermission = structureService.GetPermissionsOfCompany(company); var queriesOutput = structureService.ExecuteQueried(company, inputs.Item2); usersPermission.AddRange(queriesOutput); //Display output Console.WriteLine("Output as below:"); foreach (var line in usersPermission) { Console.WriteLine(line); } } catch (Exception e) { Console.WriteLine(e.Message); } Console.ReadLine(); }
public void GetPermissionsOfCompany_When_Send_Corrected_Expect_Ok() { //Arrange var input = new User[] { new User() { FullPermissions = null, MemberIndex = new List <int> { 1, 2 }, Permissions = new List <string> { "A", "F" } }, new User() { FullPermissions = null, MemberIndex = new List <int> { 3, 4, 5 }, Permissions = new List <string> { "A", "B" } }, new User() { FullPermissions = null, MemberIndex = new List <int> { 6 }, Permissions = new List <string> { "A", "C", "E" } }, new User() { FullPermissions = null, MemberIndex = new List <int>(), Permissions = new List <string> { "A" } }, new User() { FullPermissions = null, MemberIndex = new List <int>(), Permissions = new List <string> { "D" } }, new User() { FullPermissions = null, MemberIndex = new List <int>(), Permissions = new List <string> { "A", "C" } }, new User() { FullPermissions = null, MemberIndex = new List <int>(), Permissions = new List <string> { "A", "B" } }, }; var structureService = new StructureService(); //Act var result = structureService.GetPermissionsOfCompany(input); //Assert result.ShouldBeOfType <List <string> >(); result.ShouldNotBeEmpty(); result.Count.ShouldBe(7); result[0].ShouldBe("A, B, C, D, E, F"); result[1].ShouldBe("A, B, C, D"); result[2].ShouldBe("A, B, C, E"); result[3].ShouldBe("A"); result[4].ShouldBe("D"); result[5].ShouldBe("A, C"); result[6].ShouldBe("A, B"); }