public void GetEmployeeByEmployeeId_MethodCalledWithEmployeeId_ShouldGetCorrespondingEmployeeInfo()
        {
            //---------------------------------- ARRANGE -------------------------------------

            //setting up the in-memory database with required data for test
            FakeObjectSet<Employee> employeeObjectSet = new FakeObjectSet<Employee>();
            Employee employeeOldData = TestDataFactory.CreateNewObjectWithValidExistingEmployeeData();
            employeeObjectSet.AddObject(employeeOldData);
            mockDatabaseConext.Setup(db => db.Employees).Returns(employeeObjectSet);

            EmployeeBLL employeeBLL = new EmployeeBLL(mockDatabaseConext.Object);

            string EXPECTED_ADDRESS = employeeOldData.Address;

            //---------------------------------- ACT -------------------------------------

            Employee employeeNewData = employeeBLL.GetEmployeeByEmployeeId(1);

            //---------------------------------- ASSERT -------------------------------------

            string ACTUAL_ADDRESS = employeeNewData.Address;

            Assert.AreEqual(EXPECTED_ADDRESS, ACTUAL_ADDRESS, "Address should be found");
        }
        public void GetEmployeeByEmployeeId_NonZeroEmployeeIdPassed_ShouldCall_DatabaseContext_Employees_PropertyGet()
        {
            /*The reason to use FakeObjectSet is, CreateNewEmployee method includes query level operation for business logic, we need to use FakeObjectSet. If no query was used we could use IObjectSet mock.*/
            FakeObjectSet<Employee> employees = new FakeObjectSet<Employee>();

            //setting up expectation for the DatabaseContext.Employees property to be called
            mockDatabaseConext.Setup(_db => _db.Employees).Verifiable();

            //an EmployeeDatabaseContext.Employees ObjectSet is required for invoking IObjectSet.AddObject method
            mockDatabaseConext.Setup(_db => _db.Employees).Returns(employees);

            EmployeeBLL employeeBLL = new EmployeeBLL(mockDatabaseConext.Object);

            //calling the method for expected method verification
            employeeBLL.GetEmployeeByEmployeeId(1);

            mockDatabaseConext.Verify();
        }