public void TestNominateIndividual()
        {
            IdentityId potentialOwner = new IdentityId();
            IdentityId businessAdministrator = new IdentityId();
            _mapStorage[potentialOwner.Id] = new Account(potentialOwner, "s-1-2-3-4-5", "auth", AccountType.User);

            ILoggingService loggingService = SetupLoggerMock(new List<TaskHistoryEvent>());
            Task task = new Task(
                         new TaskId(), TaskStatus.Created, string.Empty,
                         string.Empty, Priority.Normal, false,
                         DateTime.UtcNow, new IdentityId().GetIdentity(),
                         DateTime.UtcNow, null, null)
            {
                LoggingService = loggingService
            };
            IPrincipal actualOwner = new ClaimsPrincipal(businessAdministrator.GetIdentity());
            Thread.CurrentPrincipal = actualOwner;
            task.BusinessAdministrators.Add(businessAdministrator.GetIdentity());
            task.Nominate(potentialOwner.GetIdentity());
            Assert.AreEqual(TaskStatus.Reserved, task.Status);
            Assert.IsNotNull(task.ActualOwner);
            Assert.AreEqual(potentialOwner, task.ActualOwner.GetMappedId());
            Assert.IsTrue(task.PotentialOwners.Contains(potentialOwner.GetIdentity()));
            Assert.IsNotNull(task.History);
            Assert.AreEqual(1, task.History.Count());
            TaskHistoryEvent history = task.History.ElementAt(0);
            Assert.IsNotNull(history);
            Assert.AreEqual(TaskStatus.Created, history.OldStatus);
            Assert.AreEqual(TaskStatus.Reserved, history.NewStatus);
            Assert.AreEqual(businessAdministrator, history.UserId);
            Assert.AreEqual(null,history.StartOwner);
            Assert.AreEqual(potentialOwner, history.EndOwner);
        }