コード例 #1
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void IsNotSatisfiedByContext()
        {
            IsFact  fact    = new IsFact("Temperature", 38);
            Context context = new Context();

            Assert.IsFalse(fact.IsSatisfiedByContext(context));
        }
コード例 #2
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void CompareTwoFactsWithDifferentValues()
        {
            IsFact fact1 = new IsFact("Temperature", 38);
            IsFact fact2 = new IsFact("Temperature", 40);

            Assert.AreNotEqual(fact1, fact2);
        }
コード例 #3
0
ファイル: WorldTests.cs プロジェクト: jmptrader/AjRools
        public void RetractAndTestFact()
        {
            Fact fact = new IsFact("Temperature", 36);

            this.world.RetractFact(fact);
            Assert.IsFalse(this.world.IsAFact(fact));
        }
コード例 #4
0
ファイル: World.cs プロジェクト: jmptrader/AjRools
        public void RetractFact(Fact fact)
        {
            if (fact is IsFact)
            {
                IsFact isfact = (IsFact)fact;

                object current = this.context.GetValue(isfact.Name);

                if (current == null || !current.Equals(isfact.Value))
                {
                    throw new InvalidOperationException();
                }

                this.context.SetValue(isfact.Name, null);
                this.retracted.Enqueue(fact);
                return;
            }

            if (!this.facts.Contains(fact))
            {
                throw new InvalidOperationException();
            }

            this.facts.Remove(fact);
            this.retracted.Enqueue(fact);
        }
コード例 #5
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void IsSatisfiedByContext()
        {
            IsFact  fact    = new IsFact("Temperature", 38);
            Context context = new Context();

            context.SetValue("Temperature", 38);
            Assert.IsTrue(fact.IsSatisfiedByContext(context));
        }
コード例 #6
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void CompareTwoEqualFactsWithNullValue()
        {
            IsFact fact1 = new IsFact("Temperature", null);
            IsFact fact2 = new IsFact("Temperature", null);

            Assert.AreEqual(fact1, fact2);
            Assert.AreEqual(fact1.GetHashCode(), fact2.GetHashCode());
        }
コード例 #7
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void CreateIsFact()
        {
            IsFact fact = new IsFact("Temperature", 38);

            Assert.AreEqual("Temperature", fact.Name);
            Assert.AreEqual(38, fact.Value);
            Assert.AreEqual("is", fact.Verb);
        }
コード例 #8
0
ファイル: WorldTests.cs プロジェクト: jmptrader/AjRools
        public void AssertTwiceRetractAndTestFact()
        {
            Fact fact = new IsFact("Age", 40);

            this.world.AssertFact(fact);
            this.world.AssertFact(new IsFact("Age", 40));
            this.world.RetractFact(fact);
            Assert.IsFalse(this.world.IsAFact(fact));
        }
コード例 #9
0
ファイル: World.cs プロジェクト: jmptrader/AjRools
        public void AssertFact(Fact fact)
        {
            if (fact is IsFact)
            {
                IsFact isfact = (IsFact)fact;

                this.context.SetValue(isfact.Name, isfact.Value);

                this.asserted.Enqueue(fact);

                return;
            }

            if (this.facts.Contains(fact))
            {
                return;
            }

            this.facts.Add(fact);
            this.asserted.Enqueue(fact);
        }
コード例 #10
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void IsNotSatisfiedByNull()
        {
            IsFact fact = new IsFact("Temperature", 38);

            Assert.IsFalse(fact.IsSatisfiedByValue(null));
        }
コード例 #11
0
ファイル: WorldTests.cs プロジェクト: jmptrader/AjRools
        public void TrueFact()
        {
            Fact fact = new IsFact("Temperature", 36);

            Assert.IsTrue(this.world.IsAFact(fact));
        }
コード例 #12
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void CompareFactWithObject()
        {
            IsFact fact = new IsFact("Temperature", 38);

            Assert.AreNotEqual(fact, 38);
        }
コード例 #13
0
ファイル: WorldTests.cs プロジェクト: jmptrader/AjRools
        public void FalseFact()
        {
            Fact fact = new IsFact("Temperature", 42);

            Assert.IsFalse(this.world.IsAFact(fact));
        }
コード例 #14
0
ファイル: WorldTests.cs プロジェクト: jmptrader/AjRools
        public void RaiseWhenRetractFalseFact()
        {
            Fact fact = new IsFact("Age", 40);

            this.world.RetractFact(fact);
        }
コード例 #15
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void CompareFactWithNull()
        {
            IsFact fact = new IsFact("Temperature", 38);

            Assert.IsFalse(fact.Equals(null));
        }
コード例 #16
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void IsSatisfiedByValue()
        {
            IsFact fact = new IsFact("Temperature", 38);

            Assert.IsTrue(fact.IsSatisfiedByValue(38));
        }
コード例 #17
0
ファイル: IsFactTests.cs プロジェクト: jmptrader/AjRools
        public void IsSatisfiedByNullWhenNull()
        {
            IsFact fact = new IsFact("Temperature", null);

            Assert.IsTrue(fact.IsSatisfiedByValue(null));
        }