public void IsLastInBrothers() { Task parent = new Task(); parent.SetPropertyInBase("Id", 1); Task first_task = new Task { CurrentStatus = Status.Assign }; first_task.SetPropertyInBase("Id", 2); Task middle_task = new Task { CurrentStatus = Status.Assign }; middle_task.SetPropertyInBase("Id", 3); Task last_task = new Task { CurrentStatus = Status.Accept }; last_task.SetPropertyInBase("Id", 4); parent.AddChild(first_task); parent.AddChild(middle_task); parent.AddChild(last_task); Assert.That(first_task.IsLastInBrothers(Status.Assign), Is.False); Assert.That(middle_task.IsLastInBrothers(Status.Assign), Is.False); //all other brothers are Assign status except himselft, so he's the last one with Assign status. Assert.That(last_task.IsLastInBrothers(Status.Assign), Is.True); }