public void InitializeWithInitializedQuestTreeWithoutChildrenTest() { //Arrange Quest parent = new FakeQuest { Children = null }; IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>(); tree.Expect(tr => tr.IsInitialized()). Repeat.Once(). Return(false); tree.Expect(tr => tr.Initialize()). Repeat.Once(); tree.Expect(tr => tr.Root). Repeat.Once(). Return(parent); tree.Expect(tr => tr.LoadChildren(Arg <Quest> .Is.Equal(parent))). Repeat.Once(); QuestListModelTopChildrenPredicate list = new QuestListModelTopChildrenPredicate(tree, q => q.State == State.Idle || q.State == State.Done); //Act bool isInitializedBeforeInitialization = list.IsInitialized(); list.Initialize(); bool isInitializedAfterInitialization = list.IsInitialized(); //Assert Assert.IsFalse(isInitializedBeforeInitialization); Assert.IsTrue(isInitializedAfterInitialization); Quest listParent = list.Parent; Assert.AreEqual(parent, listParent); List <Quest> listChildren = list.Leaves; Assert.IsNull(listChildren); tree.VerifyAllExpectations(); }
public void InitializeWithInitializedQuestTreeTest() { //Arrange List <Quest> children = new List <Quest>() { new FakeQuest() { State = State.Done }, new FakeQuest() { State = State.Done }, new FakeQuest() { State = State.Failed }, new FakeQuest() { State = State.Idle } }; Quest parent = new FakeQuest() { Children = children }; IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>(); tree.Expect(tr => tr.IsInitialized()). Repeat.Once(). Return(true); tree.Expect(tr => tr.Initialize()). Repeat.Never(); tree.Expect(tr => tr.Root). Repeat.Twice(). Return(parent); QuestListModelTopChildrenPredicate list = new QuestListModelTopChildrenPredicate(tree, q => q.State == State.Idle || q.State == State.Done); //Act bool isInitializedBeforeInitialization = list.IsInitialized(); list.Initialize(); bool isInitializedAfterInitialization = list.IsInitialized(); //Assert Assert.IsFalse(isInitializedBeforeInitialization); Assert.IsTrue(isInitializedAfterInitialization); Quest listParent = list.Parent; Assert.AreEqual(parent, listParent); List <Quest> listChildren = list.Leaves; Assert.IsNotNull(listChildren); Assert.IsNotEmpty(listChildren); Assert.AreEqual(3, listChildren.Count); Assert.IsTrue(listChildren.All(c => c.State == State.Done || c.State == State.Idle)); tree.VerifyAllExpectations(); }