/// <summary> /// Generate a play action for current scene. /// </summary> /// <param name="scene">The scene.</param> /// <returns>The cards to be played.</returns> public RockAction GetPlayAction(RockScene scene) { this.tracer.Verbose(RockJsonSerializer.Serialize(scene)); try { if (string.IsNullOrEmpty(this.configuration.BotEndpoint)) { var robot = new Bot.RockBot(); var action = robot.GetPlayAction(scene); this.tracer.Verbose(RockJsonSerializer.Serialize(action)); return(action); } else { var apiClient = new RockApiClient(); var action = apiClient.Post <RockAction>($"{this.configuration.BotEndpoint}{RockConstants.DefaultBotPlayRelativePath}", scene); this.tracer.Verbose(RockJsonSerializer.Serialize(action)); return(action); } } catch (Exception e) { this.tracer.Error($"Unexpected Exception from Bot: {e}"); return(RockAction.Create()); } }
public void TestRockJsonSerializerOnRockScene() { var rockScene = GenerateRockScene(); var rockSceneJson = RockJsonSerializer.Serialize(rockScene); var rockSceneObject = RockJsonSerializer.Deserialize <RockScene>(rockSceneJson); Assert.AreEqual(rockScene.ActionId, rockSceneObject.ActionId); }
public void TestRockJsonSerializerOnRockConfiguration() { var config = new RockConfiguration(); config.GameMode = RockGameMode.NormalPractice; var configJson = RockJsonSerializer.Serialize(config); var configObject = RockJsonSerializer.Deserialize <RockConfiguration>(configJson); Assert.AreEqual(configObject.GameMode, config.GameMode); }
public void TestRockJsonSerializerOnTraceInfo() { var traceMessage = new Dictionary <string, string>(); traceMessage.Add("Level", TraceLevel.Verbose.ToString()); traceMessage.Add("Message", "Message"); string jsonTraceMessage = RockJsonSerializer.Serialize((object)traceMessage); Assert.AreEqual("{\"Level\":\"Verbose\",\"Message\":\"Message\"}", jsonTraceMessage); }
public void TestMethodForSerializeRockScene() { var rockScene = GenerateRockScene(); var x = RockJsonSerializer.Serialize(rockScene); }