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); } } }
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); } }
/// <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); } }
/// <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); } }
public JsonPlayer( JsonDataItem data ) { this.data = data; }
public JsonPlace( JsonDataItem data ) { _data = data; }
public JsonPlayer( JsonDataService service, Guid userId, JsonDataItem jsonData ) : base(service, userId) { data = jsonData; resources = new ItemCollection( ItemListJsonConverter.FromJson( (JObject) jsonData["Resources"] ), collection => SaveItems() ); }
public JsonPlayer(JsonDataService service, Guid userId, JsonDataItem jsonData) : base(service, userId) { data = jsonData; resources = new ItemCollection(ItemListJsonConverter.FromJson((JObject)jsonData["Resources"]), collection => SaveItems()); }