protected override void OnInit(EventArgs e)
 {
     base.OnInit(e);
     _presenter = new EmployeeMaintenancePresenter(this);
 }
        public void MustReturnEmployeeInfo()
        {
            //Arrange
            Mock<IEmployeeMaintenanceView> mockView = new Mock<IEmployeeMaintenanceView>();
            Mock<EmployeeModel> mockModel = new Mock<EmployeeModel>();
            System.Data.Objects.DataClasses.EntityCollection<CS_EmployeeEmergencyContact> employeeContacts = new System.Data.Objects.DataClasses.EntityCollection<CS_EmployeeEmergencyContact>();
            employeeContacts.Add(new CS_EmployeeEmergencyContact() { Active = true, EmployeeID = 1, FirstName = "Margie", LastName = "Simpson", HomeAreaCode = "11", HomePhone = "89431267" });
            CS_Employee employeeStub = new CS_Employee()
            {
                ID = 1,
                PersonID = "123",
                FirstName = "Danilo",
                Name = "Ruziska",
                HireDate = new DateTime(2011, 8, 31),
                Address = "Elm Street, 123",
                Address2 = "Third Floor",
                City = "Houston",
                StateProvinceCode = "TX",
                CountryCode = "USA",
                PostalCode = "12345",
                BusinessCardTitle = "Software Developer",
                CS_Division = new CS_Division() { ID = 1, Active = true, Name = "001" },
                PassportNumber = "12345abc",
                CS_EmployeeEmergencyContact = employeeContacts,
                HomeAreaCode = "11",
                HomePhone = "123456",
                MobileAreaCode = "12",
                MobilePhone = "34567",
                OtherPhoneAreaCode = "13",
                OtherPhone = "98765",
                IsDentonPersonal = true,
                DriversLicenseNumber = "123",
                DriversLicenseClass = "A",
                DriversLicenseStateProvinceCode = "TX",
                DriversLicenseExpireDate = new DateTime(2012, 12, 21)
            };

            mockView.SetupProperty(e => e.EmployeeId, 1);
            mockView.SetupProperty(e => e.EmployeeName, "");
            mockView.SetupProperty(e => e.HireDate, null);
            mockView.SetupProperty(e => e.PersonID, "");
            mockView.SetupProperty(e => e.Address, "");
            mockView.SetupProperty(e => e.Address2, "");
            mockView.SetupProperty(e => e.City, "");
            mockView.SetupProperty(e => e.State, "");
            mockView.SetupProperty(e => e.Country, "");
            mockView.SetupProperty(e => e.PostalCode, "");
            mockView.SetupProperty(e => e.Position, "");
            mockView.SetupProperty(e => e.EmployeeDivision, "");
            mockView.SetupProperty(e => e.PassportNumber, "");
            mockView.SetupProperty(e => e.EmployeeContacts, null);
            mockView.SetupProperty(e => e.HomePhone, "");
            mockView.SetupProperty(e => e.HomeAreaCode, "");
            mockView.SetupProperty(e => e.MobileAreaCode, "");
            mockView.SetupProperty(e => e.MobilePhone, "");
            mockView.SetupProperty(e => e.OtherPhoneAreaCode, "");
            mockView.SetupProperty(e => e.OtherPhone, "");
            mockView.SetupProperty(e => e.IsDentonPersonal, false);
            mockView.SetupProperty(e => e.DriversLicenseNumber, "");
            mockView.SetupProperty(e => e.DriversLicenseClass, "");
            mockView.SetupProperty(e => e.DriversLicenseState, "");
            mockView.SetupProperty(e => e.DriversLicenseExpireDate, null);
            mockModel.Setup(e => e.GetEmployee(1)).Returns(employeeStub);

            EmployeeMaintenancePresenter presenter = new EmployeeMaintenancePresenter(mockView.Object, mockModel.Object);
            //Act
            presenter.LoadEmployeeInfo();
            //Assert
            Assert.AreEqual("Danilo,Ruziska", mockView.Object.EmployeeName);
            Assert.AreEqual(new DateTime(2011, 8, 31), mockView.Object.HireDate);
            Assert.AreEqual("123", mockView.Object.PersonID);
            Assert.AreEqual("Software Developer", mockView.Object.Position);
            Assert.AreEqual("001", mockView.Object.EmployeeDivision);
            Assert.AreEqual("12345abc", mockView.Object.PassportNumber);
            Assert.AreEqual(1, mockView.Object.EmployeeContacts.Count);
            Assert.AreEqual("Elm Street, 123", mockView.Object.Address);
            Assert.AreEqual("Third Floor", mockView.Object.Address2);
            Assert.AreEqual("Houston", mockView.Object.City);
            Assert.AreEqual("TX", mockView.Object.State);
            Assert.AreEqual("USA", mockView.Object.Country);
            Assert.AreEqual("12345", mockView.Object.PostalCode);
            Assert.AreEqual("11", mockView.Object.HomeAreaCode);
            Assert.AreEqual("123456", mockView.Object.HomePhone);
            Assert.AreEqual("12", mockView.Object.MobileAreaCode);
            Assert.AreEqual("34567", mockView.Object.MobilePhone);
            Assert.AreEqual("13", mockView.Object.OtherPhoneAreaCode);
            Assert.AreEqual("98765", mockView.Object.OtherPhone);
            Assert.IsTrue(mockView.Object.IsDentonPersonal);
            Assert.AreEqual("123", mockView.Object.DriversLicenseNumber);
            Assert.AreEqual("A", mockView.Object.DriversLicenseClass);
            Assert.AreEqual("TX", mockView.Object.DriversLicenseState);
            Assert.AreEqual(new DateTime(2012, 12, 21), mockView.Object.DriversLicenseExpireDate);
        }