public void Valid() { var mockComponentActorFactory = new Mock <ComponentActorFactory <TransportableStorage> >(Sys); var resourceContainer = new ResourceContainer(); var targetEntity = new Entity(); var deliverOrder = new DeliverContainerToStorage(resourceContainer, targetEntity, mockComponentActorFactory.Object); var entity = new Entity(); Assert.False(deliverOrder.IsValid(entity)); entity.Add(new TransportableStorage()); Assert.True(deliverOrder.IsValid(entity)); }
public void UpdateTakeFromSource() { #region Setup var mockComponentActorFactory = new Mock <ComponentActorFactory <TransportableStorage> >(Sys); mockComponentActorFactory.Setup(f => f.GetProps(It.IsAny <TransportableStorage>())) .Returns(Props.Create(() => new EntityTestActor())); var sourceEntity = new Entity(); var resourceContainer = new ResourceContainer(); var sourceTransporter = new TransportableStorage(); // TODO: Entity might not be needed var containerEntity = new Entity { resourceContainer, new Transportable { Transporter = sourceTransporter } }; var orderTargetTransportable = new TransportableStorage(); var orderTargetEntity = new Entity { orderTargetTransportable }; var deliverOrder = new DeliverContainerToStorage(resourceContainer, orderTargetEntity, mockComponentActorFactory.Object); var transporterStorage = new TransportableStorage(); var transporterEntity = new Entity { transporterStorage }; #endregion deliverOrder.Update(transporterEntity, new GameTime()); var messageToEntityComponent = ExpectMsg <MessageToEntityComponentFirstOfType <TransportableStorage> >(); Assert.Equal(sourceEntity.Id, messageToEntityComponent.EntityId); var giveTransportableTo = Assert.IsType <GiveTransportableTo>(messageToEntityComponent.Message); Assert.Equal(resourceContainer.Id, giveTransportableTo.Transportable.Id); Assert.Equal(transporterStorage.Id, giveTransportableTo.Target.Id); }