Example #1
0
        public void Index_Contains_All_Rules()
        {
            // Arrange - create the mock repository
            Mock <IRuleRepository> mock = new Mock <IRuleRepository>();

            mock.Setup(m => m.LoadRules).Returns(new MT_LOAD_RULE[] {
                new MT_LOAD_RULE {
                    LoadRuleId = 1, Code = "LR1"
                },
                new MT_LOAD_RULE {
                    LoadRuleId = 2, Code = "LR2"
                },
                new MT_LOAD_RULE {
                    LoadRuleId = 3, Code = "LR3"
                },
            }.AsQueryable());
            // Arrange - create a controller
            RuleController target = new RuleController(mock.Object);

            // Action
            MT_LOAD_RULE[] result = ((IEnumerable <MT_LOAD_RULE>)target.Rules().ViewData.Model).ToArray();
            // Assert
            Assert.AreEqual(result.Length, 3);
            Assert.AreEqual("LR1", result[0].Code);
            Assert.AreEqual("LR2", result[1].Code);
            Assert.AreEqual("LR3", result[2].Code);
        }
    // Use this for initialization
    void Start()
    {
        camera = Camera.main;
        Joueur Joueur1 = GameStarter.obtenirJoueur1(); //player
        Joueur Ordi= GameStarter.obtenirJoueur2(); // IA
        MyControler = new RuleController();
        MyControler.demarerDuel(Joueur1, Ordi);
        this.DisplayHand();
        //GameObject PlayedCard = this.transform.GetChild(0).gameObject;
        //GameObject slot1 = PlayedCard.transform.GetChild(3).gameObject;
        //Vector3 positions = slot1.transform.position;

        //GameObject cardClone = (GameObject)Instantiate(test, positions,slot1.transform.rotation);
        //cardClone.transform.parent = PlayedCard.transform;
        ////Quaternion quat = new Quaternion(0, 0, 0, 0);
        //positions = positions + new Vector3(0f, 1f, 0f);

        ////positions.z = -1;

        ////positions.z = -1;
        //////cardClone.transform.position = slot1.transform.position;
        //cardClone.transform.rotation = slot1.transform.rotation;

        //Debug.Log(positions);
        //cardClone.transform.localScale = slot1.transform.localScale;
        //cardClone.transform.position = positions;
        //Debug.Log(cardClone.transform.position);

        //PlayedCard.gameObject.AddComponent();
        //Debug.Log(cardClone.transform.localScale);
    }
    // Use this for initialization


    void Start()
    {
        camera = Camera.main;
        Joueur Joueur1 = GameStarter.obtenirJoueur1(); //player
        Joueur Ordi    = GameStarter.obtenirJoueur2(); // IA

        MyControler = new RuleController();
        MyControler.demarerDuel(Joueur1, Ordi);
        this.DisplayHand();
        //GameObject PlayedCard = this.transform.GetChild(0).gameObject;
        //GameObject slot1 = PlayedCard.transform.GetChild(3).gameObject;
        //Vector3 positions = slot1.transform.position;

        //GameObject cardClone = (GameObject)Instantiate(test, positions,slot1.transform.rotation);
        //cardClone.transform.parent = PlayedCard.transform;
        ////Quaternion quat = new Quaternion(0, 0, 0, 0);
        //positions = positions + new Vector3(0f, 1f, 0f);

        ////positions.z = -1;

        ////positions.z = -1;
        //////cardClone.transform.position = slot1.transform.position;
        //cardClone.transform.rotation = slot1.transform.rotation;



        //Debug.Log(positions);
        //cardClone.transform.localScale = slot1.transform.localScale;
        //cardClone.transform.position = positions;
        //Debug.Log(cardClone.transform.position);

        //PlayedCard.gameObject.AddComponent();
        //Debug.Log(cardClone.transform.localScale);
    }
Example #4
0
        public void Can_Delete_Valid_Rules()
        {
            // Arrange - create a Product
            MT_LOAD_RULE loadRule = new MT_LOAD_RULE {
                LoadRuleId = 2, Code = "Test"
            };
            // Arrange - create the mock repository
            Mock <IRuleRepository> mock = new Mock <IRuleRepository>();

            mock.Setup(m => m.LoadRules).Returns(new MT_LOAD_RULE[] {
                new MT_LOAD_RULE {
                    LoadRuleId = 1, Code = "LR1"
                },
                loadRule,
                new MT_LOAD_RULE {
                    LoadRuleId = 3, Code = "LR3"
                },
            }.AsQueryable());
            // Arrange - create the controller
            RuleController target = new RuleController(mock.Object);

            // Act - delete the product
            target.RuleDelete(loadRule.LoadRuleId);
            // Assert - ensure that the repository delete method was
            // called with the correct Product
            mock.Verify(m => m.DeleteLoadRule(loadRule.LoadRuleId));
        }
Example #5
0
        private void CreateCorrectTestData()
        {
            var data     = GenerateData();
            var _service = new Mock <IRuleService>();

            _service.Setup(x => x.Add(It.IsAny <RuleModel>()))
            .Returns(true);
            _service.Setup(x => x.Delete(It.IsAny <int>()))
            .Returns <int>(x => "Delete completed successful");
            _service.Setup(x => x.Edit(It.IsAny <RuleModel>()))
            .Returns(true);
            _service.Setup(x => x.GetAll())
            .Returns(data);
            _service.Setup(x => x.GetAllCategories()).Returns(data.GroupBy(x => x.Category).Select(x => x.Key));
            _service.Setup(x => x.GetByCategory(It.IsAny <string>()))
            .Returns <string>(str => data.Where(x => x.Category.Equals(str)));
            _service.Setup(x => x.Get(It.IsAny <int>()))
            .Returns <int>(id => data.FirstOrDefault(x => x.RuleId == id));
            _service.Setup(x => x.AddImages(It.IsAny <Image[]>()))
            .Returns <Image[]>(img => new List <string> {
                "Ok"
            });
            controller = new RuleController(_service.Object);
            service    = _service.Object;
        }
Example #6
0
        public void Can_Edit_Rule()
        {
            // Arrange - create the mock repository
            Mock <IRuleRepository> mock = new Mock <IRuleRepository>();

            mock.Setup(m => m.LoadRules).Returns(new MT_LOAD_RULE[] {
                new MT_LOAD_RULE {
                    LoadRuleId = 1, Code = "LR1"
                },
                new MT_LOAD_RULE {
                    LoadRuleId = 2, Code = "LR2"
                },
                new MT_LOAD_RULE {
                    LoadRuleId = 3, Code = "LR3"
                },
            }.AsQueryable());
            // Arrange - create the controller
            RuleController target = new RuleController(mock.Object);
            // Act
            MT_LOAD_RULE p1 = target.RuleEdit(1).ViewData.Model as MT_LOAD_RULE;
            MT_LOAD_RULE p2 = target.RuleEdit(2).ViewData.Model as MT_LOAD_RULE;
            MT_LOAD_RULE p3 = target.RuleEdit(3).ViewData.Model as MT_LOAD_RULE;

            // Assert
            Assert.AreEqual(1, p1.LoadRuleId);
            Assert.AreEqual(2, p2.LoadRuleId);
            Assert.AreEqual(3, p3.LoadRuleId);
        }
Example #7
0
 // Acts out Action. Runs every updateloop.
 public override void Execute(RuleController controller)
 {
     // Executes all Action-Elements simultaniously.
     for (int i = 0; i < ActionElements.Length; i++)
     {
         ActionElements[i].Execute(controller);
     }
 }
Example #8
0
 // Runs once, when action is deactivated.
 public override void OnExitAction(RuleController controller)
 {
     // All Action-Element Exit Actions are Executed Simultaniously.
     for (int i = 0; i < ActionElements.Length; i++)
     {
         ActionElements[i].OnEnterAction(controller);
     }
 }
        public void TestDebutDuJeu()
        {
            RuleController MonControlleur = new RuleController();

            MonControlleur.demarerDuel(obtenirJoueur1(), obtenirJoueur2());
            Assert.AreEqual(1, MonControlleur.numTour, "Num tour NOK");
            Assert.AreEqual(3, MonControlleur.nbAction, "NbAction tour NOK");
            Assert.AreEqual(4, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 NOk");
            Assert.AreEqual(4, MonControlleur.joueur2.cartesEnMain.Count, "Nb cartes en mains joueur 2 NOk");
        }
    public void Awake()
    {
        if (File.Exists(path + "Rules.json"))
        {
            rules = JSONSaver.Load <RuleController>(path + "Rules.json");
        }
        else
        {
            JSONSaver.Save <RuleController>(path + "Rules.json", rules);
        }

        if (File.Exists(path + "Terrains.json"))
        {
            terrains = JSONSaver.Load <TerrainController>(path + "Terrains.json");
        }
        else
        {
            JSONSaver.Save <TerrainController>(path + "Terrains.json", terrains);
        }

        if (File.Exists(path + "Units.json"))
        {
            units = JSONSaver.Load <UnitController>(path + "Units.json");
        }
        else
        {
            JSONSaver.Save <UnitController>(path + "Units.json", units);
        }

        if (File.Exists(path + "Sprites.json"))
        {
            sprites = JSONSaver.Load <SpriteController>(path + "Sprites.json");
        }
        else
        {
            JSONSaver.Save <SpriteController>(path + "Sprites.json", sprites);
        }

        if (File.Exists(path + "Clips.json"))
        {
            clips = JSONSaver.Load <ClipController>(path + "Clips.json");
        }
        else
        {
            JSONSaver.Save <ClipController>(path + "Clips.json", clips);
        }

        rules.Awake();
        terrains.Awake();
        units.Awake();
        sprites.Awake();
        clips.Awake();
    }
Example #11
0
 // Evaluates, once action is active, if the action is completed.
 public override bool IsComplete(RuleController controller)
 {
     // Compound is complete when ALL Action-Elements are Complete.
     for (int i = 0; i < ActionElements.Length; i++)
     {
         if (!ActionElements[i].IsComplete(controller))
         {
             return(false);
         }
     }
     return(true);
 }
Example #12
0
 void Start()
 {
     uiC       = GetComponent <UIController>();
     ruleC     = GetComponent <RuleController>();
     timeC     = GetComponent <TimeController>();
     scoreC    = GetComponent <ScoreController>();
     otherBeeC = GetComponent <OtherBeeController>();
     soundC    = GetComponent <SoundController>();
     BGM       = GetComponent <AudioSource>();
     beeHunter = BeeHunterObject.GetComponent <BeeHunter>();
     InitializeGame();
 }
Example #13
0
        public void Load(XmlNode rotation)
        {
            Rules          = new RuleController();
            GlobalCooldown = 1600;
            try
            {
                foreach (XmlNode childNode in rotation.ChildNodes)
                {
                    switch (childNode.Name)
                    {
                    case "Name":
                        Name = childNode.InnerText;
                        break;

                    case "GlobalCooldown":
                        GlobalCooldown = Convert.ToInt32(childNode.InnerText);
                        break;

                    case "Active":
                        Active = Convert.ToBoolean(childNode.InnerText);
                        break;

                    case "Ctrl":
                        Ctrl = Convert.ToBoolean(childNode.InnerText);
                        break;

                    case "Alt":
                        Alt = Convert.ToBoolean(childNode.InnerText);
                        break;

                    case "Shift":
                        Shift = Convert.ToBoolean(childNode.InnerText);
                        break;

                    case "Key":
                        Key = childNode.InnerText;
                        break;

                    case "Windows":
                        Windows = Convert.ToBoolean(childNode.InnerText);
                        break;

                    case "Rules":
                        LoadController(childNode.ChildNodes, Rules);
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                Logging.Write("Something went wrong when loading Rotation: " + e);
            }
        }
        public void neighbour_count_should_be_3_for_birth_in_next_geneartion()
        {
            // Arrange
            var controller = new RuleController(_ruleService);

            // Act
            var result = controller.GetRule();

            // Assert
            Assert.IsNotNull(result);
            //Assert.AreEqual(3, result.Birth[0]);
        }
Example #15
0
        public void Delete_ReturnsNotFound_ForNotFoundRule()
        {
            var webAgent   = new Mock <IWebAgent>();
            var repository = new Mock <IRuleRepository>();

            repository.Setup(mock => mock.DeleteRule(TestResources.Site)).Returns(false);
            var ruleController = new RuleController(repository.Object, webAgent.Object);

            var result = ruleController.Delete(TestResources.Site);

            result.Should().BeOfType <NotFoundResult>();
            repository.Verify(mock => mock.DeleteRule(TestResources.Site), Times.Once);
        }
Example #16
0
        public void Delete_ReturnsOk_Calls_DeleteRule_FromRuleRepository()
        {
            var webAgent   = new Mock <IWebAgent>();
            var repository = new Mock <IRuleRepository>();

            repository.Setup(mock => mock.DeleteRule(TestResources.Site)).Returns(true);
            var ruleController = new RuleController(repository.Object, webAgent.Object);

            var result = ruleController.Delete(TestResources.Site);

            result.Should().BeOfType <OkResult>();
            repository.Verify(mock => mock.DeleteRule(TestResources.Site), Times.Once);
        }
Example #17
0
        // Acts out Action. Runs every updateloop.
        public override void Execute(RuleController controller)
        {
            // Execute Current Index
            int index = controller.GetSequenceIndex(this);

            ActionElements[index].Execute(controller);

            // Increment Index if Action-Element is complete
            if (ActionElements[index].IsComplete(controller))
            {
                controller.IncrementSequence(this);
            }
        }
        public void neighbour_count_should_be_2_or_3_for_survival_to_next_geneartion()
        {
            // Arrange
            var controller = new RuleController(_ruleService);

            // Act
            var result = controller.GetRule();

            // Assert
            Assert.IsNotNull(result);
            //Assert.AreEqual(2, result.Survival[0]);
            //Assert.AreEqual(3, result.Survival[1]);
        }
Example #19
0
        // Runs once, when action is activated.
        public override void OnEnterAction(RuleController controller)
        {
            // Do Safety Check:
            if (ActionElements == null && ActionElements.Length == 0)
            {
                throw new System.Exception("Error Compound broken!");
            }

            // All Action-Element Entry Actions are Executed Simultaniously.
            for (int i = 0; i < ActionElements.Length; i++)
            {
                ActionElements[i].OnEnterAction(controller);
            }
        }
        public void GetRule()
        {
            // Arrange
            var controller = new RuleController(_ruleService);

            // Act
            var result = controller.GetRule();

            // Assert
            Assert.IsNotNull(result);
            //Assert.AreEqual(2, result.Survival[0]);
            //Assert.AreEqual(3, result.Survival[1]);
            //Assert.AreEqual(3, result.Birth[0]);
        }
Example #21
0
        public void Add_Calls_AddOrUpdateRule_From_RuleRepository()
        {
            var webAgent   = new Mock <IWebAgent>();
            var repository = new Mock <IRuleRepository>();

            var ruleController = new RuleController(repository.Object, webAgent.Object);

            var result = ruleController.Add(TestResources.Site, TestResources.Rule);

            result.Should().BeOfType <OkResult>();

            repository.Verify(mock => mock.AddOrUpdateRule(TestResources.Site, TestResources.Rule), Times.Once);
            webAgent.Verify(mock => mock.GetContent(It.IsAny <string>()), Times.Never);
        }
Example #22
0
        internal void LoadController(XmlNodeList xmlNodeList, RuleController ruleController)
        {
            foreach (XmlNode xmlMainNode in xmlNodeList)
            {
                if (xmlMainNode.Name.Equals("Rule"))
                {
                    //We got our hands on a rule, lets load it.
                    var rule = new Rule();
                    foreach (XmlNode childNode in xmlMainNode)
                    {
                        switch (childNode.Name)
                        {
                        case "Name":
                            rule.Name = childNode.InnerText;
                            break;

                        case "Script":
                            rule.Script = childNode.InnerText;
                            break;

                        case "MatchAll":
                            rule.MatchAll = Convert.ToBoolean(childNode.InnerText);
                            break;

                        case "ShouldTarget":
                            rule.ShouldTarget =
                                (Target)Enum.Parse(typeof(Target), childNode.InnerText);
                            break;

                        case "Priority":
                            rule.Priority = Convert.ToInt32(childNode.InnerText);
                            break;

                        case "Action":
                            rule.LoadAction(childNode);
                            break;

                        default:
                            AbstractCondition condition = LoadConditions(childNode);
                            if (condition != null)
                            {
                                rule.AddCondition(condition);
                            }
                            break;
                        }
                    }
                    ruleController.AddRule(rule);
                }
            }
        }
 // Start is called before the first frame update
 void Start()
 {
     uiC            = GetComponent <UIController>();
     ruleC          = GetComponent <RuleController>();
     timeC          = GetComponent <TimeController>();
     scoreC         = GetComponent <ScoreController>();
     otherBeeC      = GetComponent <OtherBeeController>();
     hiveC          = GetComponent <HiveController>();
     soundC         = GetComponent <SoundController>();
     BGM            = GetComponent <AudioSource>();
     bee            = BeeObject.GetComponent <Bee>();
     scene          = SCENE.Home;
     gamePlayedOnce = false;
 }
Example #24
0
        public void Get_ReturnsNotFound_ForNotFoundRule()
        {
            var webAgent   = new Mock <IWebAgent>();
            var repository = new Mock <IRuleRepository>();

            repository.Setup(mock => mock.GetRule(TestResources.Site)).Returns((string)null);
            var ruleController = new RuleController(repository.Object, webAgent.Object);

            var result = ruleController.Get(TestResources.Site);

            result.Should().BeOfType <NotFoundResult>();
            repository.Verify(mock => mock.GetRule(TestResources.Site), Times.Once);
            webAgent.Verify(mock => mock.GetContent(It.IsAny <string>()), Times.Never);
        }
Example #25
0
        public void Get_Calls_GetRule_From_RuleRepository()
        {
            var webAgent   = new Mock <IWebAgent>();
            var repository = new Mock <IRuleRepository>();

            repository.Setup(mock => mock.GetRule(TestResources.Site)).Returns(TestResources.Rule);
            var ruleController = new RuleController(repository.Object, webAgent.Object);

            var result = ruleController.Get(TestResources.Site);

            result.Should().BeOfType <OkObjectResult>().Which.Value.Should().Be(TestResources.Rule);
            repository.Verify(mock => mock.GetRule(TestResources.Site), Times.Once);
            webAgent.Verify(mock => mock.GetContent(It.IsAny <string>()), Times.Never);
        }
Example #26
0
        public async Task Test_ReturnsExpectedString()
        {
            var webAgent   = new Mock <IWebAgent>();
            var repository = new Mock <IRuleRepository>();

            repository.Setup(mock => mock.GetRule(TestResources.Site)).Returns(TestResources.Rule);
            webAgent.Setup(mock => mock.GetContent(It.IsAny <string>())).Returns(Task.FromResult("<ol>Text</ol>"));
            var ruleController = new RuleController(repository.Object, webAgent.Object);

            var result = await ruleController.Test(TestResources.Site);

            result.Should().BeOfType <OkObjectResult>().Which.Value.Should().Be("Text");
            repository.Verify(mock => mock.GetRule(TestResources.Site), Times.Once);
            webAgent.Verify(mock => mock.GetContent(It.IsAny <string>()), Times.Once);
        }
        public void TestCarteRetardée()
        {
            RuleController MonControlleur = new RuleController();

            MonControlleur.demarerDuel(obtenirJoueur1(), obtenirJoueur2());
            decimal actionAvantCarte        = MonControlleur.joueur1["actions"];
            int     PaceLibreTerrainJoueur1 = MonControlleur.plateau.terrainsJoueur1.positionsLibres.Count;

            MonControlleur.joueur1.cartesEnMain.ajouterCarte(getCarte("Figuier de Barbarie"));
            Assert.AreEqual(5, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 NOk");
            Carte carteJouee = MonControlleur.jouerUneCarteDepuisLaMain("Figuier de Barbarie");

            Assert.AreEqual(actionAvantCarte - 3, MonControlleur.joueur1["actions"], "Nb action après carte retadrée NOK");
            Assert.AreEqual(PaceLibreTerrainJoueur1 - 1, MonControlleur.plateau.terrainsJoueur1.positionsLibres.Count, "Nb place libre joueur 1 NOK");
        }
Example #28
0
        public async Task Test_ReturnsBadRequest_InCaseOfMissingPageParameter(string page)
        {
            var webAgent   = new Mock <IWebAgent>();
            var repository = new Mock <IRuleRepository>();

            repository.Setup(mock => mock.GetRule(TestResources.Site)).Returns(() => null);
            var ruleController = new RuleController(repository.Object, webAgent.Object);

            var result = await ruleController.Test(page);

            result.Should().BeOfType <BadRequestObjectResult>().Which.Value.Should()
            .Be("The 'page' parameter is mandatory.");
            repository.Verify(mock => mock.GetRule(TestResources.Site), Times.Never);
            webAgent.Verify(mock => mock.GetContent(It.IsAny <string>()), Times.Never);
        }
Example #29
0
        public async Task Test_ReturnsNotFound_ForNotFoundRule()
        {
            var webAgent   = new Mock <IWebAgent>();
            var repository = new Mock <IRuleRepository>();

            repository.Setup(mock => mock.GetRule(TestResources.Site)).Returns(() => null);
            var ruleController = new RuleController(repository.Object, webAgent.Object);

            var result = await ruleController.Test(TestResources.Site);

            result.Should().BeOfType <NotFoundObjectResult>().Which.Value.Should()
            .Be($"Rule for site '{TestResources.Site}' not found.");
            repository.Verify(mock => mock.GetRule(TestResources.Site), Times.Once);
            webAgent.Verify(mock => mock.GetContent(It.IsAny <string>()), Times.Never);
        }
        public void TestJouerCartePossible()
        {
            RuleController MonControlleur = new RuleController();

            MonControlleur.demarerDuel(obtenirJoueur1(), obtenirJoueur2());
            decimal actionAvantCarte = MonControlleur.joueur1["actions"];
            decimal PVJoueur2        = MonControlleur.joueur2["PV"];

            MonControlleur.joueur1.cartesEnMain.ajouterCarte(getCarte("Mante religieuse"));
            Assert.AreEqual(5, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 NOk");
            Carte carteJouee = MonControlleur.jouerUneCarteDepuisLaMain("Mante religieuse");

            Assert.AreEqual(actionAvantCarte - carteJouee.action, MonControlleur.joueur1["actions"], "Nb action après jouer une carte NOK");
            Assert.AreEqual(4, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 après jouer une carte NOk");
            Assert.AreEqual(PVJoueur2 - carteJouee.attaque, MonControlleur.joueur2["PV"], "PV joueur 2  après jouer une carte NOk");
        }
        public void TestDebutTourCartePermSoin()
        {
            RuleController MonControlleur = new RuleController();

            MonControlleur.demarerDuel(obtenirJoueur1(), obtenirJoueur2());
            decimal actionAvantCarte = MonControlleur.joueur1["actions"];
            decimal PVJoueur2        = MonControlleur.joueur2["PV"];

            MonControlleur.joueur1.cartesEnMain.ajouterCarte(getCarte("Mante religieuse"));
            Assert.AreEqual(5, MonControlleur.joueur1.cartesEnMain.Count, "Nb cartes en mains joueur 1 NOk");
            Carte carteJouee = MonControlleur.jouerUneCarteDepuisLaMain("Mante religieuse");

            Assert.AreEqual(PVJoueur2 - carteJouee.attaque, MonControlleur.joueur2["PV"], "PV joueur 2  après jouer une carte NOk");
            MonControlleur.plateau.terrainsJoueur2.ajouterCarte(getCarte("Immortelle des dunes"));
            MonControlleur.finTourJoueur1();
            Assert.AreEqual(PVJoueur2 - carteJouee.attaque + 1, MonControlleur.joueur2["PV"], "PV après immortelle des dunes NOK");
        }