Esempio n. 1
0
        public void TestCondition_RoomNotHas_PassBecauseRoomHasName()
        {
            var you       = YouInARoom(out IWorld world);
            var condition = new ConditionBlueprint()
            {
                HasNot = "Fish",
                Check  = SystemArgsTarget.Room
            }.Create().Single();

            Assert.IsTrue(condition.IsMet(world, GetSystemArgs(you)));
            you.CurrentLocation.Name = "Fish";
            Assert.IsFalse(condition.IsMet(world, GetSystemArgs(you)));
        }
Esempio n. 2
0
        public void TestCondition_Has_PassBecauseHasAdjective()
        {
            var you       = YouInARoom(out IWorld world);
            var condition = new ConditionBlueprint()
            {
                Has = "Fish"
            }.Create().Single();

            Assert.IsFalse(condition.IsMet(world, GetSystemArgs(you)));
            you.Adjectives.Add(new Adjective(you)
            {
                Name = "Fish"
            });

            Assert.IsTrue(condition.IsMet(world, GetSystemArgs(you)));
        }
Esempio n. 3
0
        public void TestCondition_RoomIsNot_PassBecauseRoomIsName()
        {
            var you       = YouInARoom(out IWorld world);
            var condition = new ConditionBlueprint()
            {
                IsNot = "Fish",
                Check = SystemArgsTarget.Room
            }.Create().Single();

            Assert.IsTrue(condition.IsMet(world, GetSystemArgs(you)));

            you.CurrentLocation.Adjectives.Add(new Adjective(you.CurrentLocation)
            {
                Name = "Fish"
            });
            Assert.IsTrue(condition.IsMet(world, GetSystemArgs(you)));

            you.CurrentLocation.Name = "Fish";
            Assert.IsFalse(condition.IsMet(world, GetSystemArgs(you)), "Now Room has the Name to match, it should be considered 'Is' therefore Not should make this codition true");
        }
Esempio n. 4
0
        public void TestCondition_IsNot_PassBecauseIsType()
        {
            var you       = YouInARoom(out IWorld world);
            var condition = new ConditionBlueprint()
            {
                IsNot = "Fish"
            }.Create().Single();

            Assert.IsTrue(condition.IsMet(world, GetSystemArgs(you)));
            you.Adjectives.Add(new Adjective(you)
            {
                Name = "Fish"
            });

            condition = new ConditionBlueprint()
            {
                IsNot = "You"
            }.Create().Single();
            Assert.IsFalse(condition.IsMet(world, GetSystemArgs(you)), "Should be false because Is matches on Type name 'You' and condition is 'Not'");
        }
Esempio n. 5
0
        public void TestCondition_Variable_NotEqual()
        {
            var you       = YouInARoom(out IWorld world);
            var condition = new ConditionBlueprint()
            {
                Variable = "Counter != 5"
            }.Create().Single();

            Assert.IsTrue(condition.IsMet(world, GetSystemArgs(you)));

            you.V["Counter"] = 3;

            Assert.IsTrue(condition.IsMet(world, GetSystemArgs(you)));

            you.V["Counter"] = 5;

            Assert.IsFalse(condition.IsMet(world, GetSystemArgs(you)));

            you.V["Counter"] = 7;

            Assert.IsTrue(condition.IsMet(world, GetSystemArgs(you)));
        }