Beispiel #1
0
        /// <summary>
        /// JSONに対応するデータをランダムに生成します。
        /// </summary>
        /// <returns>生成されたデータ。</returns>
        public async Task <JObject> CreateAsync()
        {
            await Task.CompletedTask;
            var returnValue     = new JObject();
            var createdContaner = new List <JToken> {
                returnValue
            };

            foreach (var i in Enumerable.Range(0, Settings.DataCount))
            {
                var value     = RandamValue(RandomType());
                var container = createdContaner[random.Next(createdContaner.Count)];

                switch (value)
                {
                case JArray array:
                case JObject obj:
                    createdContaner.Add(value);
                    break;
                }
                switch (container)
                {
                case JArray array:
                    array.Add(value);
                    break;

                case JObject obj:
                    var key = RandomIdentifier();
                    while (obj.ContainsKey(key))
                    {
                        key = RandomIdentifier();
                    }
                    obj.Add(key, value);
                    break;
                }
                DataCreatedEvent?.Invoke(this, new EventArgs());
            }
            return(returnValue);
        }
 public void Handle(DataCreatedEvent <Guid> @event)
 {
 }