public void TestChangeMemberAffiliationTransaction()
        {
            // Arrange
            var employeeId      = 1;
            var employeeName    = "Bogdan";
            var employeeAddress = "Address";
            var hourlyRate      = 25;

            new AddHourlyEmployeeTransaction(employeeId, employeeName, employeeAddress, hourlyRate).Execute();
            var memberId = 24;
            var dues     = 92.42;

            // Act
            new ChangeEmployeeUnionAffiliationTransaction(employeeId, memberId, dues).Execute();
            var employee    = payrollRepository.GetEmployee(employeeId);
            var unionMember = payrollRepository.GetUnionMember(memberId);

            // Assert
            Assert.IsNotNull(employee);
            Assert.IsNotNull(unionMember);
            Assert.AreEqual(unionMember, employee);
            Assert.IsTrue(employee.Affiliation is UnionEmployeeAffiliation);
            Assert.AreEqual(dues, (employee.Affiliation as UnionEmployeeAffiliation).Dues);
        }