Пример #1
0
        // http://www.bay12games.com/dwarves/mantisbt/view.php?id=11346
        // 0011346: <acquirer_enid> is always -1 in "building profile acquired" event
        public BuildingProfileAcquired(List <Property> properties, World world) : base(properties, world)
        {
            foreach (Property property in properties)
            {
                switch (property.Name)
                {
                case "site_id": Site = world.GetSite(Convert.ToInt32(property.Value)); break;

                case "acquirer_hfid": AcquirerHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break;

                case "acquirer_enid": AcquirerEntity = world.GetEntity(Convert.ToInt32(property.Value)); break;

                case "last_owner_hfid": LastOwnerHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break;

                case "building_profile_id": BuildingProfileId = Convert.ToInt32(property.Value); break;

                case "purchased_unowned": property.Known = true; PurchasedUnowned = true; break;

                case "inherited": property.Known = true; Inherited = true; break;

                case "rebuilt_ruined": property.Known = true; RebuiltRuined = true; break;
                }
            }

            if (Site != null)
            {
                SiteProperty = Site.SiteProperties.FirstOrDefault(siteProperty => siteProperty.Id == BuildingProfileId);
                SiteProperty?.Structure?.AddEvent(this);
            }

            Site.AddEvent(this);
            AcquirerHf.AddEvent(this);
            AcquirerEntity.AddEvent(this);
            LastOwnerHf.AddEvent(this);
        }
Пример #2
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            if (AcquirerHf != null)
            {
                eventString += AcquirerHf?.ToLink(link, pov, this);
                if (AcquirerEntity != null)
                {
                    eventString += " of ";
                }
            }
            else if (AcquirerEntity != null)
            {
                eventString += AcquirerEntity.ToLink(link, pov, this);
            }
            else
            {
                eventString += "Someone ";
            }
            if (PurchasedUnowned)
            {
                eventString += " purchased ";
            }
            else if (Inherited)
            {
                eventString += " inherited ";
            }
            else if (RebuiltRuined)
            {
                eventString += " rebuilt ";
            }
            else
            {
                eventString += " acquired ";
            }

            eventString += SiteProperty.Print(link, pov);
            if (Site != null)
            {
                eventString += " in ";
                eventString += Site.ToLink(link, pov, this);
            }

            if (LastOwnerHf != null)
            {
                eventString += " formerly owned by ";
                eventString += LastOwnerHf.ToLink(link, pov, this);
            }

            eventString += PrintParentCollection(link, pov);
            eventString += ".";
            return(eventString);
        }
Пример #3
0
        public void MultipleMocks_Test()
        {
            IRepository <MerchantEntity> merchantEntityMock = Mocker.CreateMock <IRepository <MerchantEntity> >();

            MerchantEntity merchantEntity = new MerchantEntity();

            merchantEntity.MerchantName = "Mocked Merchant";

            BasicRequest request = new BasicRequest();

            request.Id = 2;

            merchantEntityMock.Stub(p => p.GetById(request)).Return(merchantEntity);

            BasicRequest requestTest = new BasicRequest();

            requestTest.Id = 2;

            MerchantEntity merchantResult = merchantEntityMock.GetById(requestTest);

            Assert.IsNotNull(merchantResult);
            Assert.AreEqual("Mocked Merchant", merchantResult.MerchantName);

            IRepository <AcquirerEntity> acquirerEntityMock = Mocker.CreateMock <IRepository <AcquirerEntity> >();

            AcquirerEntity acquirerEntity = new AcquirerEntity();

            acquirerEntity.AcquirerName = "Mocked Acquirer";

            BasicRequest acquirerRequest = new BasicRequest();

            acquirerRequest.Id = 2;

            acquirerEntityMock.Stub(p => p.GetById(acquirerRequest)).Return(acquirerEntity);

            BasicRequest acquirerRequestTest = new BasicRequest();

            acquirerRequestTest.Id = 2;

            AcquirerEntity acquirerResult = acquirerEntityMock.GetById(acquirerRequestTest);

            Assert.IsNotNull(acquirerResult);
            Assert.AreEqual("Mocked Acquirer", acquirerResult.AcquirerName);

            AcquirerEntity anotherAquirerEntity = new AcquirerEntity();

            anotherAquirerEntity.AcquirerName = "Another Mocked Acquirer";

            BasicRequest acquirerRequest2 = new BasicRequest();

            acquirerRequest2.Id = 3;

            acquirerEntityMock.Stub(p => p.GetById(acquirerRequest2)).Return(anotherAquirerEntity);
            acquirerEntityMock.Stub(p => p.Name).Return("Banana");
            acquirerEntityMock.Stub(p => p.GetTypeName()).Return(new AcquirerEntity()
            {
                AcquirerName = "Mocked Acquirer Type"
            });

            BasicRequest anotherAcquirerRequestTest = new BasicRequest();

            anotherAcquirerRequestTest.Id = 3;

            AcquirerEntity anotherAcquirerResult = acquirerEntityMock.GetById(anotherAcquirerRequestTest);

            Assert.IsNotNull(anotherAcquirerResult);
            Assert.AreEqual("Another Mocked Acquirer", anotherAcquirerResult.AcquirerName);

            string nameResult = acquirerEntityMock.Name;

            Assert.IsNotNull(nameResult);
            Assert.AreEqual("Banana", nameResult);

            AcquirerEntity mockAcquirerType = acquirerEntityMock.GetTypeName();

            Assert.IsNotNull(mockAcquirerType);
            Assert.AreEqual("Mocked Acquirer Type", mockAcquirerType.AcquirerName);
        }