コード例 #1
0
        private static void ValidateExamples(CommandModel model)
        {
            var examples = new List <string[]>();

            examples.AddRangeIfNotNull(model.Examples);

            // Get all examples.
            var queue = new Queue <ICommandContainer>(new[] { model });

            while (queue.Count > 0)
            {
                var current = queue.Dequeue();

                foreach (var command in current.Commands)
                {
                    examples.AddRangeIfNotNull(command.Examples);
                    queue.Enqueue(command);
                }
            }

            // Validate all examples.
            foreach (var example in examples)
            {
                try
                {
                    var parser = new CommandTreeParser(model);
                    parser.Parse(example);
                }
                catch (Exception ex)
                {
                    throw new ConfigurationException("Validation of examples failed.", ex);
                }
            }
        }
コード例 #2
0
        private void AddRoomInformation(List <string> texts, Room playerRoom)
        {
            texts.AddRangeIfNotNull(GetTexts(TextID.YouAreAt, "room", playerRoom.Name));

            if (this.player !.IsDark)
            {
                texts.AddRangeIfNotNull(GetTexts(TextID.TooDarkToSee));
            }
コード例 #3
0
        private static AllRoleMappingRule CombineAll(RoleMappingRuleBase left, RoleMappingRuleBase right)
        {
            var l = new List <RoleMappingRuleBase>();

            l.AddRangeIfNotNull(AllOrSelf(left));
            l.AddRangeIfNotNull(AllOrSelf(right));
            return(new AllRoleMappingRule(l));
        }
コード例 #4
0
        private static List<SwaggerRoute> Generate(ODataRoute oDataRoute)
        {
            Contract.Requires(oDataRoute != null);
            Contract.Requires(oDataRoute.Constraints != null);

            var routes = new List<SwaggerRoute>();

            routes.AddRangeIfNotNull(GenerateEntitySetRoutes(oDataRoute));
            routes.AddRangeIfNotNull(GenerateEntityRoutes(oDataRoute));
            routes.AddRangeIfNotNull(GenerateOperationImportRoutes(oDataRoute));
            routes.AddRangeIfNotNull(GenerateOperationRoutes(oDataRoute));

            return routes;
        }
コード例 #5
0
        private static List <SwaggerRoute> Generate(ODataRoute oDataRoute)
        {
            Contract.Requires(oDataRoute != null);
            Contract.Requires(oDataRoute.Constraints != null);

            var routes = new List <SwaggerRoute>();

            routes.AddRangeIfNotNull(GenerateEntitySetRoutes(oDataRoute));
            routes.AddRangeIfNotNull(GenerateEntityRoutes(oDataRoute));
            routes.AddRangeIfNotNull(GenerateOperationImportRoutes(oDataRoute));
            routes.AddRangeIfNotNull(GenerateOperationRoutes(oDataRoute));

            return(routes);
        }
コード例 #6
0
ファイル: UsHolidays.cs プロジェクト: hilldata/Xrd.Common
        /// <summary>
        /// Calculate the dates of the major US holidays for the specified year.
        /// </summary>
        /// <param name="year">The year to calculate holidays for.</param>
        /// <param name="easterOptions">Options on which (if any) Lent/Easter holidays to include.</param>
        /// <returns>A list of major US holidays for the year.</returns>
        public static List <Holiday> GetHolidaysByYear(int year, EasterOptions easterOptions = EasterOptions.WesternChristianity)
        {
            List <Holiday> res = fixedHolidays(year).ToList();

            if (easterOptions == EasterOptions.WesternChristianity)
            {
                res.AddRangeIfNotNull(easter(year, true));
            }
            else if (easterOptions == EasterOptions.EasternOthodox)
            {
                res.AddRangeIfNotNull(easter(year, false));
            }

            return(res.OrderBy(h => h.Date).ToList());
        }
コード例 #7
0
        public void AddRangeIfNotNull_TestEnforceUnique()
        {
            // Arrange
            List <object> vs = new List <object>();
            // Act
            var res = vs.AddRangeIfNotNull(_testToAdd);

            // Assert
            Assert.AreEqual(3, res);

            // Act
            res = vs.AddRangeIfNotNull(_testToAdd, true);
            // Assert
            Assert.AreEqual(0, res);
        }
コード例 #8
0
        public void AddRangeIfNotNull_ThrowsOnNullThis()
        {
            // Arrange
            List <object> vs = null;

            //Act and Assert
            Assert.ThrowsException <ArgumentNullException>(() => vs.AddRangeIfNotNull(_testToAdd));
        }
コード例 #9
0
        public void AddRangeIfNotNull_ShouldNotAddItemsWhenNoItemsToAdd(IEnumerable <TestClass> testData)
        {
            var list = new List <TestClass>();

            list.AddRangeIfNotNull(testData);

            Assert.Empty(list);
        }
コード例 #10
0
        public void ListExtensions_AddRangeIfNotNull_With_ValidItemCollection_Adds()
        {
            List <string> list = new List <string>();

            list.AddRangeIfNotNull(new[] { "a" });

            Assert.That(list, Does.Contain("a"));
        }
コード例 #11
0
        public void AddRangeIfNotNull_TestException()
        {
            // Arrange
            List <object> list = null;

            // Test null source throws exception
            Assert.ThrowsException <ArgumentNullException>(() => list.AddRangeIfNotNull(_itemsToAdd));
        }
コード例 #12
0
        public static StringBuilder AddLink(this StringBuilder s, string content, string cl = null, bool classoptional = false, int min = groupmin, int max = groupmax, bool ungreedy = false, IEnumerable <WRAttribute> attributes = null)
        {
            List <WRAttribute> list = new List <WRAttribute>();

            list.Add(WRAttribute.Url());
            list.AddRangeIfNotNull(attributes);
            return(s.AddTag("a", content, cl, classoptional, min, max, ungreedy, list));
        }
コード例 #13
0
        public void AddRangeIfNotNull_ShouldThrowIfListIsNull()
        {
            List <TestClass> list = null;
            var item = new TestClass();

            Assert.Throws <ArgumentNullException>(
                () => list.AddRangeIfNotNull(new[] { item })
                );
        }
コード例 #14
0
        public void AddRangeIfNotNull_TestNullity()
        {
            // Arrange
            List <object> vs = new List <object>();
            // Act
            var res = vs.AddRangeIfNotNull(_testToAdd);

            // Assert
            Assert.AreEqual(3, res);
        }
コード例 #15
0
        public void AddRangeIfNotNull_ShouldAddItemsWhenNotNull(
            IEnumerable <TestClass> testData,
            int numberOfElementsToAdd
            )
        {
            var list = new List <TestClass>();

            list.AddRangeIfNotNull(testData);

            Assert.Equal(numberOfElementsToAdd, list.Count);
        }
コード例 #16
0
        public void AddRangeIfNotNull_TestAdding()
        {
            // Arrange
            var list = new List <object>();

            // Test null item is not added.
            var res = list.AddRangeIfNotNull(_itemsToAdd);

            Assert.AreNotEqual(_itemsToAdd.Length, res);
            Assert.AreEqual(3, res);

            // Test enforceUnique: true => not added
            res = list.AddRangeIfNotNull(_itemsToAdd, true);
            Assert.AreEqual(0, res);

            // Test enforceUnique: false => duplicates added
            res = list.AddRangeIfNotNull(_itemsToAdd);
            Assert.AreEqual(3, res);

            // Make sure list count is now 6
            Assert.AreEqual(6, list.Count);
        }
コード例 #17
0
 public override void Print(System.IO.StreamWriter writer)
 {
     Section.WriteTitle(writer, "Strange Hats");
     int cnt = 0;
     foreach (Item i in OrderedList)
     {
         double percent = Math.Round(((double)cnt) * 100 / ((double)Items.Keys.Count));
         Console.WriteLine("Progress: Item {0} of {1} (" + percent + "%)", cnt + 1, Items.Keys.Count);
         List<String> attribs = new List<string>();
         attribs.AddIfNotNull(i.PaintName);
         attribs.AddRangeIfNotNull(i.StrangeParts);
         if (i.IsGifted)
             attribs.Add("Gifted");
         //pretty print the item
         String item = TF2PricerMain.FormatItem(i, true, Items[i], attribs.ToArray());
         Price paint = null;
         Price[] parts = new Price[3] { null, null, null };
         if (i.PaintName != null)
             paint = TF2PricerMain.PriceSchema.GetPaintPrice(i[Item.Paint]);
         if (i.StrangeParts != null)
         {
             for(int partCount = 0; partCount < 3; ++partCount)
             {
                 parts[partCount] = TF2PricerMain.PriceSchema.GetPartPrice(i[Item.StrangePart1 + partCount]);
             }
         }
         Price p = TF2PricerMain.PriceSchema.GetPrice(i);
         //so write the item, then follow up with the bp.tf prices
         Console.WriteLine(item + "\n");
         if(paint != null || i.StrangeParts != null)
             Console.WriteLine("Original: " + p.ToString());
         if (paint != null)
         {
             Console.WriteLine("Paint: " + paint.ToString());
             p += paint;
         }
         if (i.StrangeParts != null)
         {
             int partNo = 0;
             foreach (String part in i.StrangeParts)
             {
                 Console.WriteLine(part + ": " + parts[partNo].ToString());
                 p += parts[partNo];
                 ++partNo;
             }
         }
         Console.WriteLine("Price: " + p.ToString());
         TF2PricerMain.GetInputPrice(item, writer, p.LowPrice, p.HighPrice);
         cnt++;
     }
 }
コード例 #18
0
        public async Task <IList <TEntity> > GetCollectionAsync(int?takeCount = 100)
        {
            TableQuery <TEntity>        query          = new TableQuery <TEntity>().Take(takeCount);
            List <TEntity>              result         = new List <TEntity>();
            TableQuerySegment <TEntity> currentSegment = null;

            while (currentSegment == null || currentSegment.ContinuationToken != null)
            {
                try
                {
                    currentSegment = await Table.ExecuteQuerySegmentedAsync <TEntity>(query, currentSegment != null?currentSegment.ContinuationToken : null);

                    result.AddRangeIfNotNull(currentSegment.Results);
                }
                catch (StorageException)
                {
                    break;
                }
            }
            return(result);
        }
コード例 #19
0
        /// Get a list of personal honorific titles from the specified TitleClasses. (Common are always included.)
        /// </summary>
        /// <param name="titleClasses">The various classes of titles to be included.</param>
        /// <returns>A list of unique titles, in alphabetical order.</returns>
        public static List <string> GetHonorificList(PrefixCategories titleClasses)
        {
            List <string> res = new List <string>(Common);

            if (titleClasses.HasFlag(PrefixCategories.Academic))
            {
                res.AddRangeIfNotNull(Academic);
            }
            if (titleClasses.HasFlag(PrefixCategories.CatholicOrthodox))
            {
                res.AddRangeIfNotNull(Catholic);
            }
            if (titleClasses.HasFlag(PrefixCategories.Formal_UK))
            {
                res.AddRangeIfNotNull(UKFormal);
            }
            if (titleClasses.HasFlag(PrefixCategories.Formal_US))
            {
                res.AddRangeIfNotNull(USFormal);
            }
            if (titleClasses.HasFlag(PrefixCategories.Islamic))
            {
                res.AddRangeIfNotNull(Islamic);
            }
            if (titleClasses.HasFlag(PrefixCategories.Judaic))
            {
                res.AddRangeIfNotNull(Judaic);
            }
            if (titleClasses.HasFlag(PrefixCategories.Professional))
            {
                res.AddRangeIfNotNull(Professional);
            }
            if (titleClasses.HasFlag(PrefixCategories.Protestant))
            {
                res.AddRangeIfNotNull(Protestant);
            }
            return(res.Distinct().OrderBy(a => a).ToList());
        }
コード例 #20
0
        /// <summary>
        /// Returns a file containing login information
        /// Encoding is iso-8859-1
        /// </summary>
        /// <param name="items"></param>
        /// <returns></returns>
        private byte[] GetLoginCsv(List <ExportItem> items)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine("title,website,username,password,notes");
            foreach (ExportItem item in items)
            {
                List <string> lstCells = new List <string>()
                {
                    item.Object.Name,
                    item.Object.Login?.Uris?.Select(x => x.Uri).Join(";"),
                    item.Object.Login?.Username,
                    item.Object.Login?.Password,
                    item.Object.Notes
                };

                lstCells.AddRangeIfNotNull(item.Object.Fields?.Select(x => $"{x.Name}:{x.Value}"));

                builder.AppendLine(CellBuilder.BuildCells(lstCells.ToArray()).Join(","));
            }

            return(Encoding.GetEncoding("iso-8859-1").GetBytes(builder.ToString()));
        }
コード例 #21
0
        public SlackMessageBuilder Attachments(params Attachment[] attachments)
        {
            _attachments.AddRangeIfNotNull(attachments);

            return(this);
        }
コード例 #22
0
        public SlackMessageBuilder Blocks(params BlockBase[] blocks)
        {
            _blocks.AddRangeIfNotNull(blocks);

            return(this);
        }
コード例 #23
0
        public void ListExtensions_AddRangeIfNotNull_With_NullItemCollection_DoesNotAdd_DoesNotThrows()
        {
            List <string> list = new List <string>();

            list.AddRangeIfNotNull(null);
        }
コード例 #24
0
        public void ListExtensions_AddRangeIfNotNull_With_NullExtended_Throws()
        {
            List <string> list = null;

            Assert.Throws <ArgumentNullException>(() => list.AddRangeIfNotNull(new[] { "a" }));
        }