public void CreateCompanyStruture_When_Send_Invalid_Manager_5_Expect_Error_Message() { //Arrange var input = new List <string>() { "6", "A F", "A B", "A C E", "A", "D", "A C", "A B", "1", "1", "1", "1", "1", "2" }; var structureService = new StructureService(); //Act var result = Assert.Throws <Exception>(() => structureService.CreateCompanyStruture(input)); //Assert result.ShouldBeOfType <Exception>(); result.Message.ShouldBe(ErrorMessage.CEONoMember); }
public void CreateCompanyStruture_When_Send_Not_fix_Quatity_Expect_Error_Message() { //Arrange var input = new List <string>() { "8", "A F", "A B", "A C E", "A", "D", "A C", "A B", "CEO", "CEO", "1", "1", "1", "2" }; var structureService = new StructureService(); //Act var result = Assert.Throws <Exception>(() => structureService.CreateCompanyStruture(input)); //Assert result.ShouldBeOfType <Exception>(); result.Message.ShouldBe(ErrorMessage.QuantityNotFix); }
public void CreateCompanyStruture_When_Send_Out_Of_Range_Permission_Expect_Error_Message() { //Arrange var input = new List <string>() { "6", "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A1 B1 C1 D1 E1 F1 G1 H1 I1 J1 K1 L1 M1 N1 O1 P1 Q1 R1 S1 T1 U1 V1 W1 X1 Y1 Z1 A2 B2 C2 D2 E2 F2 G2 H2 I2 J2 K2 L2 M2 N2 O2 P2 Q2 R2 S2 T2 U2 V2 W2 X2 Y2 Z2 A3 B3 C3 D3 E3 F3 G3 H3 I3 J3 K3 L3 M3 N3 O3 P3 Q3 R3 S3 T3 U3 V3 W3 X3 Y3 Z3", "A B", "A C E", "A", "D", "A C", "A B", "CEO", "CEO", "1", "1", "1", "2" }; var structureService = new StructureService(); //Act var result = Assert.Throws <Exception>(() => structureService.CreateCompanyStruture(input)); //Assert result.ShouldBeOfType <Exception>(); result.Message.ShouldBe(ErrorMessage.PermissionOutOfRange); }
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 CreateCompanyStruture_When_Send_Corrected_List_With_4_Level_Expect_Ok() { //Arrange var input = new List <string>() { "6", "A F", "A B", "A C E", "A", "D", "A C", "A B", "CEO", "CEO", "1", "1", "2", "3" }; var structureService = new StructureService(); //Act var result = structureService.CreateCompanyStruture(input); //Assert result.ShouldBeOfType <User[]>(); result.ShouldNotBeEmpty(); result.Length.ShouldBe(7); result.ShouldAllBe(x => x.FullPermissions == null); result[0].MemberIndex.Count.ShouldBe(2); result[0].MemberIndex[0].ShouldBe(1); result[0].MemberIndex[1].ShouldBe(2); result[0].Permissions.Count.ShouldBe(2); result[0].Permissions[0].ShouldBe("A"); result[0].Permissions[1].ShouldBe("F"); result[1].MemberIndex.Count.ShouldBe(2); result[1].MemberIndex[0].ShouldBe(3); result[1].MemberIndex[1].ShouldBe(4); result[1].Permissions.Count.ShouldBe(2); result[1].Permissions[0].ShouldBe("A"); result[1].Permissions[1].ShouldBe("B"); result[2].MemberIndex.Count.ShouldBe(1); result[2].MemberIndex[0].ShouldBe(5); result[2].Permissions.Count.ShouldBe(3); result[2].Permissions[0].ShouldBe("A"); result[2].Permissions[1].ShouldBe("C"); result[2].Permissions[2].ShouldBe("E"); result[3].MemberIndex.Count.ShouldBe(1); result[3].MemberIndex[0].ShouldBe(6); result[3].Permissions.Count.ShouldBe(1); result[3].Permissions[0].ShouldBe("A"); result[4].MemberIndex.Count.ShouldBe(0); result[4].Permissions.Count.ShouldBe(1); result[4].Permissions[0].ShouldBe("D"); result[5].MemberIndex.Count.ShouldBe(0); result[5].Permissions.Count.ShouldBe(2); result[5].Permissions[0].ShouldBe("A"); result[5].Permissions[1].ShouldBe("C"); result[6].MemberIndex.Count.ShouldBe(0); result[6].Permissions.Count.ShouldBe(2); result[6].Permissions[0].ShouldBe("A"); result[6].Permissions[1].ShouldBe("B"); }