Пример #1
0
 //TODO: in .NET Standard 2.1 parameter count can be replaced with ITuple.Length
 internal Enumerator(T tuple, ItemAccessor accessor, int count)
 {
     this.tuple    = tuple;
     currentIndex  = -1;
     this.accessor = accessor;
     this.count    = count;
 }
Пример #2
0
        public static DetourEvent AddItemToChestCallback(ItemAccessor item)
        {
            var @event = new AddItemToChestEvent(
                item == null ? null : new Item(WrappedGame, item));

            FireEvent(@event);
            return(@event);
        }
Пример #3
0
        public static DetourEvent AddItemToInventoryCallback(FarmerAccessor farmer, ItemAccessor item)
        {
            var @event = new AddItemToInventoryEvent(
                new Farmer(WrappedGame, farmer),
                item == null ? null : new Item(WrappedGame, item));

            FireEvent(@event);
            return(@event);
        }
Пример #4
0
        public void GetItemId_NoError()
        {
            int testId = ItemAccessor.GetItemId(1, "Pens");

            if (testId != 1)
            {
                Assert.Fail("Not the right ID." + testId);
            }
        }
Пример #5
0
        public XmlArrayBehaviorAccessor(string name, Type type, IXmlContext context)
            : base(name, type, context)
        {
            if (Serializer.Kind != XmlTypeKind.Collection)
            {
                throw Error.AttributeConflict(name);
            }

            itemAccessor = new ItemAccessor(ClrType.GetCollectionItemType(), this);
        }
Пример #6
0
 public bool ReactivateItemByID(int ID)
 {
     try
     {
         return(1 == ItemAccessor.ReactivateItemByID(ID));
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #7
0
 public void UpdateItemInList_NoError()
 {
     try
     {
         ItemAccessor.UpdateItemInList(11, "Gumballs", 20);
     }
     catch (InvalidOperationException e)
     {
         StringAssert.Contains(e.Message, "");
     }
     return;
 }
Пример #8
0
 public void AddItemToList_NoError()
 {
     try
     {
         ItemAccessor.AddItemToList("Gumballs", 20, 1);
     }
     catch (InvalidOperationException e)
     {
         StringAssert.Contains(e.Message, "");
     }
     return;
 }
Пример #9
0
 public void RemoveItemFromList_NoError()
 {
     try
     {
         ItemAccessor.RemoveItemFromList(16);
     }
     catch (InvalidOperationException e)
     {
         StringAssert.Contains(e.Message, "");
     }
     return;
 }
Пример #10
0
 public void AddItemToList_InvalidQty()
 {
     try
     {
         ItemAccessor.AddItemToList("Dog Food", -23, 2);
     }
     catch (InvalidOperationException e)
     {
         StringAssert.Contains(e.Message, "");
         return;
     }
     Assert.Fail("The expected exception was not thrown.");
 }
Пример #11
0
        public List <string> RetrieveAllItemTypes()
        {
            List <string> ItemTypes = null;

            try
            {
                ItemTypes = ItemAccessor.SelectAllItemTypes();
            }
            catch (Exception)
            {
                throw;
            }
            return(ItemTypes);
        }
Пример #12
0
        public bool AddItem(Item newItem)
        {
            bool result = false;

            try
            {
                result = (1 == ItemAccessor.InsertItem(newItem));
            }
            catch (Exception)
            {
                throw;
            }

            return(result);
        }
Пример #13
0
        public List <Item> RetrieveItemsByName(string name)
        {
            List <Item> items = null;

            try
            {
                items = ItemAccessor.RetreiveItemsByName(name);
            }
            catch (Exception)
            {
                throw;
            }

            return(items);
        }
Пример #14
0
        public List <Item> RetrieveItemsById(int ID)
        {
            List <Item> items = null;

            try
            {
                items = ItemAccessor.RetreiveItemsById(ID);
            }
            catch (Exception)
            {
                throw;
            }

            return(items);
        }
Пример #15
0
        public Item RetrieveItemById(int ID)
        {
            Item item = null;

            try
            {
                item = ItemAccessor.RetreiveItemById(ID);
            }
            catch (Exception)
            {
                throw;
            }

            return(item);
        }
Пример #16
0
        public bool Delete(int ItemId)
        {
            bool result = false;

            try
            {
                result = (1 == ItemAccessor.DeleteItemById(ItemId));
            }
            catch (Exception)
            {
                throw;
            }

            return(result);
        }
Пример #17
0
        public List <Item> RetrieveItems()
        {
            List <Item> items = null;

            try
            {
                items = ItemAccessor.RetreiveAllItems();
            }
            catch (Exception)
            {
                throw;
            }

            return(items);
        }
Пример #18
0
        public bool EditItem(Item oldItem, Item newItem)
        {
            bool result = false;

            try
            {
                result = (1 == ItemAccessor.UpdateItem(oldItem, newItem));
            }
            catch (Exception)
            {
                throw;
            }

            return(result);
        }
Пример #19
0
        public List <Item> RetrieveItemsByType(string type = "All")
        {
            List <Item> items = null;

            try
            {
                items = ItemAccessor.RetreiveItemsByType(type);
            }
            catch (Exception)
            {
                throw;
            }

            return(items);
        }
Пример #20
0
 public static List <ItemList> RetrieveItemList()
 {
     return(ItemAccessor.SearchForItemList());
 }
Пример #21
0
        /// <summary>
        /// IAnalyzeItemインスタンス作成
        /// </summary>
        /// <param name="node">対象Node</param>
        /// <param name="semanticModel">対象ソースのsemanticModel</param>
        /// <param name="container">イベントコンテナ</param>
        /// <param name="parent">親IAnalyzeItemインスタンス(デフォルトはnull)</param>
        /// <returns>IAnalyzeItemインスタンス</returns>
        public static IAnalyzeItem Create(SyntaxNode node, SemanticModel semanticModel, EventContainer container, IAnalyzeItem parent = null)
        {
            IAnalyzeItem result = null;

            // nodeの種類によって取得メソッドを実行
            switch (node)
            {
            // クラス定義
            case ClassDeclarationSyntax targetNode:
                result = new ItemClass(targetNode, semanticModel, parent, container);
                break;

            // インターフェース
            case InterfaceDeclarationSyntax targetNode:
                result = new ItemInterface(targetNode, semanticModel, parent, container);
                break;

            // クラス要素定義
            case PropertyDeclarationSyntax targetNode:
                result = new ItemProperty(targetNode, semanticModel, parent, container);
                break;

            case FieldDeclarationSyntax targetNode:
                result = new ItemField(targetNode, semanticModel, parent, container);
                break;

            case MethodDeclarationSyntax targetNode:
                result = new ItemMethod(targetNode, semanticModel, parent, container);
                break;

            case ConstructorDeclarationSyntax targetNode:
                result = new ItemConstructor(targetNode, semanticModel, parent, container);
                break;

            case EnumDeclarationSyntax targetNode:
                result = new ItemEnum(targetNode, semanticModel, parent, container);
                break;

            // ラムダ式
            case ArrowExpressionClauseSyntax targetNode:
                if (parent is ItemProperty)
                {
                    result = new ItemAccessor(targetNode, semanticModel, parent, container);
                }
                else
                {
                    var op = semanticModel.GetOperation(targetNode).Children.First();
                    switch (op)
                    {
                    case Microsoft.CodeAnalysis.Operations.IReturnOperation operation:
                        result = new ItemReturn(op.Syntax, semanticModel, parent, container);
                        break;

                    case Microsoft.CodeAnalysis.Operations.IExpressionStatementOperation operation:
                        result = new ItemStatementExpression(op.Syntax, semanticModel, parent, container);
                        break;
                    }
                }
                break;

            // ローカル定義
            case LocalFunctionStatementSyntax targetNode:
                result = new ItemLocalFunction(targetNode, semanticModel, parent, container);
                break;

            case LocalDeclarationStatementSyntax targetNode:
                result = new ItemStatementLocalDeclaration(targetNode, semanticModel, parent, container);
                break;

            case ExpressionStatementSyntax targetNode:
                result = new ItemStatementExpression(targetNode, semanticModel, parent, container);
                break;

            case AccessorDeclarationSyntax targetNode:
                result = new ItemAccessor(targetNode, semanticModel, parent, container);
                break;

            // 分岐処理
            case IfStatementSyntax targetNode:
                result = new ItemIf(targetNode, semanticModel, parent, container);
                break;

            case ElseClauseSyntax targetNode:
                result = new ItemElseClause(targetNode, semanticModel, parent, container);
                break;

            case SwitchStatementSyntax targetNode:
                result = new ItemSwitch(targetNode, semanticModel, parent, container);
                break;

            case SwitchSectionSyntax targetNode:
                result = new ItemSwitchCase(targetNode, semanticModel, parent, container);
                break;

            // ループ処理
            case WhileStatementSyntax targetNode:
                result = new ItemWhile(targetNode, semanticModel, parent, container);
                break;

            case DoStatementSyntax targetNode:
                result = new ItemDo(targetNode, semanticModel, parent, container);
                break;

            case ForEachStatementSyntax targetNode:
                result = new ItemForEach(targetNode, semanticModel, parent, container);
                break;

            case ForStatementSyntax targetNode:
                result = new ItemFor(targetNode, semanticModel, parent, container);
                break;

            // その他
            case ReturnStatementSyntax targetNode:
                result = new ItemReturn(targetNode, semanticModel, parent, container);
                break;

            case BreakStatementSyntax targetNode:
                result = new ItemBreak(targetNode, semanticModel, parent, container);
                break;

            case ContinueStatementSyntax targetNode:
                result = new ItemContinue(targetNode, semanticModel, parent, container);
                break;
            }

            return(result);
        }
Пример #22
0
 public Item(StaticContext parent, ItemAccessor accessor) :
     base(parent)
 {
     Underlying = accessor;
 }
Пример #23
0
 public static int CreateItemList(ItemList itemList)
 {
     return(ItemAccessor.CreateItemList(itemList));
 }
Пример #24
0
 public override IXmlCollectionAccessor GetCollectionAccessor(Type itemType)
 {
     return(itemAccessor ?? (itemAccessor = new ItemAccessor(this)));
 }
Пример #25
0
        public void GetItemName_NoError()
        {
            string itemName = ItemAccessor.GetItemName(1, 1);

            Assert.AreEqual(itemName, "Pens");
        }