Ejemplo n.º 1
0
        /// <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());
            }
        }
Ejemplo n.º 2
0
        public void TestRockJsonSerializerOnRockScene()
        {
            var rockScene       = GenerateRockScene();
            var rockSceneJson   = RockJsonSerializer.Serialize(rockScene);
            var rockSceneObject = RockJsonSerializer.Deserialize <RockScene>(rockSceneJson);

            Assert.AreEqual(rockScene.ActionId, rockSceneObject.ActionId);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 public void TestMethodForSerializeRockScene()
 {
     var rockScene = GenerateRockScene();
     var x         = RockJsonSerializer.Serialize(rockScene);
 }