public void CheckEnvironmentVariables(JsonDataItem jsonData)
        {
            SpanContext    context = new SpanContext(null, null, null);
            DateTimeOffset time    = DateTimeOffset.UtcNow;

            foreach (Dictionary <string, string>[] testItem in jsonData.Data)
            {
                Dictionary <string, string> envData  = testItem[0];
                Dictionary <string, string> spanData = testItem[1];

                Span span = new Span(context, time);

                SetEnvironmentFromDictionary(envData);
                CIEnvironmentValues.ReloadEnvironmentData();
                CIEnvironmentValues.DecorateSpan(span);
                ResetEnvironmentFromDictionary(envData);

                foreach (KeyValuePair <string, string> spanDataItem in spanData)
                {
                    string value = span.Tags.GetTag(spanDataItem.Key);
                    Assert.Equal(spanDataItem.Value, value);
                }

                string providerName = span.Tags.GetTag(CommonTags.CIProvider);
                Assert.Equal(jsonData.Name, providerName);
            }
        }
        public void CheckEnvironmentVariables(JsonDataItem jsonData)
        {
            SpanContext    context = new SpanContext(null, null, null);
            DateTimeOffset time    = DateTimeOffset.UtcNow;

            foreach (Dictionary <string, string>[] testItem in jsonData.Data)
            {
                Dictionary <string, string> envData  = testItem[0];
                Dictionary <string, string> spanData = testItem[1];

                Span span = new Span(context, time);

                SetEnvironmentFromDictionary(envData);
                CIEnvironmentValues.Instance.ReloadEnvironmentData();
                CIEnvironmentValues.Instance.DecorateSpan(span);
                ResetEnvironmentFromDictionary(envData);

                foreach (KeyValuePair <string, string> spanDataItem in spanData)
                {
                    string value = span.Tags.GetTag(spanDataItem.Key);

                    /* Due date parsing and DateTimeOffset.ToString() we need to remove
                     * The fraction of a second part from the actual value.
                     *     Expected: 2021-07-21T11:43:07-04:00
                     *     Actual:   2021-07-21T11:43:07.000-04:00
                     */
                    if (spanDataItem.Key.Contains(".date"))
                    {
                        if (jsonData.Name == "usersupplied")
                        {
                            // We cannot compare dates on the usersupplied json file.
                            continue;
                        }

                        if (spanDataItem.Value.Contains("usersupplied"))
                        {
                            // We cannot parse non datetime data.
                            continue;
                        }

                        value = value.Replace(".000", string.Empty);
                    }

                    Assert.Equal(spanDataItem.Value, value);
                }

                if (jsonData.Name != "usersupplied")
                {
                    string providerName = span.Tags.GetTag(CommonTags.CIProvider);
                    Assert.Equal(jsonData.Name, providerName);
                }
            }
        }
Esempio n. 3
0
 public static void Insert <T>(string json, string collection = null, string dbPath = null, string ns = null)
 {
     if (dbPath == null)
     {
         dbPath = Assembly.GetExecutingAssembly().GetName().Name + ".db";
     }
     if (collection == null)
     {
         collection = typeof(T).ToString().Split('+').Last();
     }
     using (var db = new LiteDatabase(dbPath))
     {
         var          col = db.GetCollection <JsonDataItem>(collection);
         JsonDataItem d   = new JsonDataItem();
         d.Json = json;
         col.Update(d);
     }
 }
Esempio n. 4
0
        /// <summary>
        /// 获取一个地块对象
        /// </summary>
        /// <param name="coordinate">地块坐标</param>
        /// <returns></returns>
        public Place GetPlace(Coordinate coordinate)
        {
            lock ( _sync )
            {
                Place place;
                if (places.TryGetValue(coordinate, out place))
                {
                    return(place);
                }


                var filepath = Path.ChangeExtension(Path.Combine(placesDirectory, coordinate.ToString()), _extensions);
                var data     = JsonDataItem.LoadData(filepath, new { CheckPoint = DateTime.UtcNow });

                place = GameHost.GameRules.CreatePlace(coordinate);
                place.InitializeData(this, data);

                return(place);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 获取一个玩家对象
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <returns></returns>
        public GamePlayer GetPlayer(Guid userId)
        {
            lock ( _sync )
            {
                JsonPlayer player;
                if (players.TryGetValue(userId, out player))
                {
                    return(player);
                }


                var filepath = Path.ChangeExtension(Path.Combine(playersDirectory, userId.ToString("D")), _extensions);

                var data = JsonDataItem.LoadData(filepath, new { Nickname = NameService.AllocateName(), Initiation = GameHost.GameRules.GetInitiation(), Init = true, Resources = new ItemCollection() });


                player = new JsonPlayer(this, userId, data);
                player.Init();


                return(players[userId] = player);
            }
        }
Esempio n. 6
0
 public JsonPlayer( JsonDataItem data )
 {
     this.data = data;
 }
Esempio n. 7
0
 public JsonPlace( JsonDataItem data )
 {
     _data = data;
 }
Esempio n. 8
0
 public JsonPlayer( JsonDataService service, Guid userId, JsonDataItem jsonData )
     : base(service, userId)
 {
     data = jsonData;
     resources = new ItemCollection( ItemListJsonConverter.FromJson( (JObject) jsonData["Resources"] ), collection => SaveItems() );
 }
Esempio n. 9
0
 public JsonPlayer(JsonDataService service, Guid userId, JsonDataItem jsonData)
     : base(service, userId)
 {
     data      = jsonData;
     resources = new ItemCollection(ItemListJsonConverter.FromJson((JObject)jsonData["Resources"]), collection => SaveItems());
 }