public ItemIconPickUpImplementor CreateIIPUImplementor(int transferableQuantity, int itemQuantity, int pickUpStepQuantity, out IItemIcon ii, out IItemIconTransactionManager iiTAM, out IPickUpSystemUIElementFactory uieFactory) { IItemIcon thisII = Substitute.For <IItemIcon>(); thisII.GetUIImage().Returns(Substitute.For <IUIImage>()); IItemTemplate itemTemp = Substitute.For <IItemTemplate>(); itemTemp.GetPickUpStepQuantity().Returns(pickUpStepQuantity); // thisII.GetItemTemplate().Returns(itemTemp); IUIItem item = Substitute.For <IUIItem>(); item.GetItemTemplate().Returns(itemTemp); thisII.GetUIItem().Returns(item); thisII.GetTransferableQuantity().Returns(transferableQuantity); thisII.GetItemQuantity().Returns(itemQuantity); thisII.GetIconGroup().Returns(Substitute.For <IIconGroup>()); IItemIconTransactionManager thisIITAM = Substitute.For <IItemIconTransactionManager>(); IPickUpSystemUIElementFactory thisUIEFactory = Substitute.For <IPickUpSystemUIElementFactory>(); ItemIconPickUpImplementor implementor = new ItemIconPickUpImplementor(thisIITAM, thisUIEFactory); implementor.SetItemIcon(thisII); ii = thisII; iiTAM = thisIITAM; uieFactory = thisUIEFactory; return(implementor); }
public void SetUpAsPickedII_ThisQuantityGreaterThanPickedQuantity_CallsIITAMCreateItemIcon(int transferableQuantity, int itemQuantity, int pickUpStepQuantity) { IItemIcon thisII; IItemIconTransactionManager thisIITAM; IPickUpSystemUIElementFactory uieFactory; ItemIconPickUpImplementor implementor = CreateIIPUImplementor(transferableQuantity, itemQuantity, pickUpStepQuantity, out thisII, out thisIITAM, out uieFactory); implementor.SetUpAsPickedII(); AssertPickUpSystemUIEFactoryCreateItemIconIsCalled(thisII, uieFactory, true); }
public void SetUpAsPickedII_ThisQuantityNotGreaterThanPickedQuantity_ThisIIDoesNotLeaveGhost_DoesNotCallIITAMCreateItemIcon(int transferableQuantity, int itemQuantity, int pickUpStepQuantity) { IItemIcon thisII; IItemIconTransactionManager thisIITAM; IPickUpSystemUIElementFactory thisUIEFactory; ItemIconPickUpImplementor implementor = CreateIIPUImplementor(transferableQuantity, itemQuantity, pickUpStepQuantity, out thisII, out thisIITAM, out thisUIEFactory); thisII.LeavesGhost().Returns(false); implementor.SetUpAsPickedII(); AssertPickUpSystemUIEFactoryCreateItemIconIsCalled(thisII, thisUIEFactory, false); }
public void CheckAndIncrementPickUpQuantity_ThisIITAMIsInPickedUpState_IncrementQGreaterThanZero_CallsPickedIIIncreaseBy(int transferableQuantity, int itemQuantity, int pickUpStepQuantity) { IItemIcon thisII; IItemIconTransactionManager thisIITAM; IPickUpSystemUIElementFactory thisUIEFactory; ItemIconPickUpImplementor implementor = CreateIIPUImplementor(transferableQuantity, itemQuantity, pickUpStepQuantity, out thisII, out thisIITAM, out thisUIEFactory); thisIITAM.IsInPickedUpState().Returns(true); IItemIcon pickedII = Substitute.For <IItemIcon>(); thisIITAM.GetPickedII().Returns(pickedII); implementor.CheckAndIncrementPickUpQuantity(); pickedII.Received(1).IncreaseBy(Mathf.Min(transferableQuantity, pickUpStepQuantity), true); }
public void CheckAndIncrementPickUpQuantity_ThisIITAMIsNotInPickedUpState_DoesNotCallPickedIIIncreaseBy(int transferableQuantity, int itemQuantity, int pickUpStepQuantity) { IItemIcon thisII; IItemIconTransactionManager thisIITAM; IPickUpSystemUIElementFactory thisUIEFactory; ItemIconPickUpImplementor implementor = CreateIIPUImplementor(transferableQuantity, itemQuantity, pickUpStepQuantity, out thisII, out thisIITAM, out thisUIEFactory); thisIITAM.IsInPickedUpState().Returns(false); IItemIcon pickedII = Substitute.For <IItemIcon>(); thisIITAM.GetPickedII().Returns(pickedII); implementor.CheckAndIncrementPickUpQuantity(); pickedII.DidNotReceive().IncreaseBy(Arg.Any <int>(), Arg.Any <bool>()); }