Beispiel #1
0
 private static void GivenTransportablesInStorage(IEnumerable <Transportable> transportables,
                                                  TransportableStorage storage)
 {
     foreach (Transportable transportable in transportables)
     {
         storage.Transportables.Add(transportable);
         transportable.Transporter = storage;
     }
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 private static void GivenStorageHasCapacity(TransportableStorage storage, uint capacity)
 {
     storage.Capacity = capacity;
 }
Beispiel #4
0
 private void GivenTargetStorageExists()
 {
     targetStorage = CreateEmptyStorage();
 }
Beispiel #5
0
 private void TellMessageToStorage(GiveTransportableTo message, TransportableStorage storage)
 {
     SetupTransportableStorageActor(storage).Tell(message);
 }
Beispiel #6
0
 private IActorRef SetupTransportableStorageActor(TransportableStorage storage)
 {
     return(Sys.ActorOf(TransportableStorageActor.Props(storage)));
 }
Beispiel #7
0
 private void GivenSourceStorageExists()
 {
     sourceStorage = CreateEmptyStorage();
 }
 public GiveTransportableTo([NotNull] Components.Transportable transportable,
                            [NotNull] TransportableStorage target)
 {
     Transportable = transportable;
     Target        = target;
 }