コード例 #1
0
        private void UpdateCanEnter()
        {
            IMyItemInstance keys     = mInventory.GetGauntletKeysFromIndex(Index);
            bool            canEnter = keys.GetCount() > 0;

            SetCanEnterProperty(canEnter);
        }
コード例 #2
0
        private IMyItemInstance CreateExpeditionUnitItemWithId(string i_id)
        {
            IMyItemInstance expeditionUnitItem = Substitute.For <IMyItemInstance>();

            expeditionUnitItem.GetId().Returns(i_id);

            return(expeditionUnitItem);
        }
コード例 #3
0
        private IMyItemInstance CreateMockKeyWithCountForIndex(int i_count, int i_index)
        {
            IMyItemInstance mockKey = Substitute.For <IMyItemInstance>();

            mockKey.GetCount().Returns(i_count);
            MockInventory.GetGauntletKeysFromIndex(i_index).Returns(mockKey);

            return(mockKey);
        }
コード例 #4
0
        public BoostUnit(IMyItemInstance i_itemInstance, IBoostUnitCustomData i_data)
        {
            mItem = i_itemInstance;
            mData = i_data;

            if (mData == null)
            {
                mData = new BoostUnitCustomData(); // this is an ultimate safeguard, not sure how else to better do this
            }
        }
コード例 #5
0
        public void WhenSettingIndex_KeyCountIsExpected()
        {
            IMyItemInstance mockKey         = CreateMockKeyWithCountForIndex(3, 1);
            EnterGauntletPM systemUnderTest = CreateSystem();

            systemUnderTest.SetIndex(1);

            int keyCount = systemUnderTest.ViewModel.GetPropertyValue <int>(EnterGauntletPM.KEY_COUNT_PROPERTY);

            Assert.AreEqual(3, keyCount);
        }
コード例 #6
0
        public void WhenInventoryHasItem_GetItem_ReturnsItem()
        {
            IMyItemInstance mockItem = Substitute.For <IMyItemInstance>();

            systemUnderTest.Inventory = new Dictionary <string, IMyItemInstance>()
            {
                { "Test", mockItem }
            };

            Assert.AreEqual(mockItem, systemUnderTest.GetItem("Test"));
        }
コード例 #7
0
        public void GetItemCount_ReturnsExpected()
        {
            IMyItemInstance mockItem = Substitute.For <IMyItemInstance>();

            mockItem.GetCount().Returns(111);

            systemUnderTest.Inventory = new Dictionary <string, IMyItemInstance>()
            {
                { "SomeItem", mockItem }
            };

            Assert.AreEqual(111, systemUnderTest.GetItemCount("SomeItem"));
        }
コード例 #8
0
        private void UpdateKeyCount()
        {
            IMyItemInstance keys = mInventory.GetGauntletKeysFromIndex(Index);

            if (keys != null)
            {
                ViewModel.SetProperty(KEY_COUNT_PROPERTY, keys.GetCount());
            }
            else
            {
                ViewModel.SetProperty(KEY_COUNT_PROPERTY, 0);
            }
        }
コード例 #9
0
        public void WhenRemovingUsesFromItem_IfItemIsNotInInventory_NothingHappens()
        {
            IMyItemInstance mockItem_1 = Substitute.For <IMyItemInstance>();
            IMyItemInstance mockItem_2 = Substitute.For <IMyItemInstance>();

            systemUnderTest.Inventory = new Dictionary <string, IMyItemInstance>()
            {
                { "Item_1", mockItem_1 }, { "Item_2", mockItem_2 }
            };
            systemUnderTest.RemoveUsesFromItem("Item_3", 1);

            mockItem_1.DidNotReceive().RemoveUses(1);
            mockItem_2.DidNotReceive().RemoveUses(1);
        }
コード例 #10
0
        public List <IMyItemInstance> GetItemsWithTag(string i_tag)
        {
            List <IMyItemInstance> items = new List <IMyItemInstance>();

            foreach (KeyValuePair <string, IMyItemInstance> kvp in Inventory)
            {
                IMyItemInstance item = kvp.Value;
                if (item.HasTag(i_tag))
                {
                    items.Add(item);
                }
            }

            return(items);
        }
コード例 #11
0
        public void GetItemsWithTag_ReturnsItemsThatHaveTag()
        {
            IMyItemInstance mockItem_1 = Substitute.For <IMyItemInstance>();
            IMyItemInstance mockItem_2 = Substitute.For <IMyItemInstance>();
            IMyItemInstance mockItem_3 = Substitute.For <IMyItemInstance>();

            mockItem_1.HasTag("SomeTag").Returns(true);
            mockItem_2.HasTag("SomeTag").Returns(false);
            mockItem_3.HasTag("SomeTag").Returns(true);
            systemUnderTest.Inventory = new Dictionary <string, IMyItemInstance>()
            {
                { "Item_1", mockItem_1 }, { "Item_2", mockItem_2 }, { "Item_3", mockItem_3 }
            };

            List <IMyItemInstance> items = systemUnderTest.GetItemsWithTag("SomeTag");

            Assert.IsTrue(items.Contains(mockItem_1));
            Assert.IsFalse(items.Contains(mockItem_2));
            Assert.IsTrue(items.Contains(mockItem_3));
        }
コード例 #12
0
        public void WhenInited_ExpeditionUnitsCreated_ForEachItemWithTag_InPlayersInventory()
        {
            IMyItemInstance        expeditionUnitItem_1 = CreateExpeditionUnitItemWithId("1");
            IMyItemInstance        expeditionUnitItem_2 = CreateExpeditionUnitItemWithId("2");
            IMyItemInstance        expeditionUnitItem_3 = CreateExpeditionUnitItemWithId("3");
            List <IMyItemInstance> expeditionUnitItems  = new List <IMyItemInstance>()
            {
                expeditionUnitItem_1, expeditionUnitItem_2, expeditionUnitItem_3
            };

            MockInventory.GetItemsWithTag(BoostUnitSaveData.EXPEDITION_UNIT_ITEM_TAG).Returns(expeditionUnitItems);

            systemUnderTest.Init();

            MockUnitSpawner.Received().Create(expeditionUnitItem_1);
            MockUnitSpawner.Received().Create(expeditionUnitItem_2);
            MockUnitSpawner.Received().Create(expeditionUnitItem_3);

            Assert.AreEqual(3, systemUnderTest.ExpeditionUnits.Count);

            Assert.IsTrue(systemUnderTest.ExpeditionUnits.ContainsKey("1"));
            Assert.IsTrue(systemUnderTest.ExpeditionUnits.ContainsKey("2"));
            Assert.IsTrue(systemUnderTest.ExpeditionUnits.ContainsKey("3"));
        }
コード例 #13
0
 public void CommonInstall()
 {
     MockItemInstance = Substitute.For <IMyItemInstance>();
     MockCustomData   = Substitute.For <IBoostUnitCustomData>();
 }
コード例 #14
0
 public IBoostUnit Create(IMyItemInstance i_itemInstance)
 {
     return(factory.Create(i_itemInstance, i_itemInstance.GetCustomData <BoostUnitCustomData>()));
 }