public void Given_An_Existing_Manager_To_Calculate_Salary_Budget_Return_Correct_Sum()
        {
            const long expectedSum = 3800;

            var employees = new Employees.Employees(EmployeeInfoWithCorrectValues);

            Assert.AreEqual(expectedSum, employees.GetManagerSalaryBudget("Employee1"));
        }
        public void Adding_Invalid_Employee_Salary_Results_In_Invalid_Employee_Info()
        {
            var employees = new Employees.Employees(SalaryWithNonIntegerValues);

            Assert.IsFalse(employees.ValidateAllSalariesAreIntegers);
        }
        public void Given_A_Non_Existent_Manager_To_Calculate_Salary_Budget_Return_Zero()
        {
            var employees = new Employees.Employees(EmployeeInfoWithCorrectValues);

            Assert.AreEqual(0, employees.GetManagerSalaryBudget("NonExistentEmployeeId"));
        }
        public void Adding_Employee_Info_With_No_Circular_Reference_Is_Correct()
        {
            var employees = new Employees.Employees(EmployeeInfoWithNoCircularReference);

            Assert.IsTrue(employees.ValidateForNoCircularReference);
        }
        public void Adding_Employee_Info_With_A_Manager_Who_Is_Not_An_Employee_Indicates_Invalid_Employee_Info()
        {
            var employees = new Employees.Employees(ManagerWhoIsNotAnEmployee);

            Assert.IsFalse(employees.ValidateThatAllManagersAreEmployees);
        }
        public void Adding_Employee_Info_With_Circular_Reference_Indicates_Invalid_Employee_Info()
        {
            var employees = new Employees.Employees(EmployeeInfoWithCircularReference);

            Assert.IsFalse(employees.ValidateForNoCircularReference);
        }
        public void Adding_Employee_Info_With_One_CEO_Indicates_Valid_CEO()
        {
            var employees = new Employees.Employees(EmployeeInfoWithOneCEO);

            Assert.IsTrue(employees.ValidateIsOneCEO);
        }
        public void Adding_Employee_Info_Without_CEO_Indicates_InValid_Employee_Info()
        {
            var employees = new Employees.Employees(EmployeesInfoWithoutCeo);

            Assert.IsFalse(employees.ValidateIsOneCEO);
        }
        public void Adding_Data_With_Multiple_CE0s_Indicates_Invalid_Employee_Data()
        {
            var employees = new Employees.Employees(EmployeeInfoWithMultipleCeos);

            Assert.IsFalse(employees.ValidateIsOneCEO);
        }
        public void Adding_Empty_String_Indicates_Invalid_Employee_Info()
        {
            var employees = new Employees.Employees(EmployeeInfoWithBlankString);

            Assert.IsFalse(employees.ValidateCsvContainsInfo);
        }