コード例 #1
0
        public void Filter3()
        {
            Facts.Clear();

            Thing P1 = new Thing("P1");
            Thing P3 = new Thing("P3");
            Thing P4 = new Thing("P4");

            Tbool tb1 = new Tbool(false);

            tb1.AddState(new DateTime(2005, 12, 20), true);

            Tbool tb2 = new Tbool(false);

            tb2.AddState(new DateTime(2008, 3, 8), true);

            Facts.Assert(P1, "IsParentOf", P3, tb1);
            Facts.Assert(P1, "IsParentOf", P4, tb2);
            Facts.Assert(P1, "IsParentOf", P1, false);  // An absurd thing to have to assert

            Tset people = new Tset(P1, P3, P4);
            Tset result = people.Filter(_ => IsParentOf(P1, _));

            Assert.AreEqual("{Dawn: ; 12/20/2005: P3; 3/8/2008: P3, P4}", result.Out);
        }
コード例 #2
0
        // Set up a new test
        private static void NewTest()
        {
            Tnum valA = new Tnum(1);

            Tnum valB = new Tnum(2);

            Tnum valC = new Tnum(3);

            valC.AddState(new DateTime(2011, 1, 14), 4);

            Tbool ownA = new Tbool(true);

            Tbool ownB = new Tbool(true);

            ownB.AddState(new DateTime(2008, 1, 1), false);

            Tbool ownC = new Tbool(false);

            ownC.AddState(new DateTime(2005, 1, 1), true);

            Facts.Clear();
            Facts.Assert(A, "ValueOf", valA);
            Facts.Assert(B, "ValueOf", valB);
            Facts.Assert(C, "ValueOf", valC);
            Facts.Assert(M, "Owns", A, ownA);
            Facts.Assert(M, "Owns", B, ownB);
            Facts.Assert(M, "Owns", C, ownC);
        }
コード例 #3
0
        public void HasBeenAsserted2()
        {
            Facts.Clear();
            Facts.Assert(p2, "FamilyRelationship", p1, "Biological child");
            bool result = Facts.HasBeenAsserted("FamilyRelationship", p1, p2);

            Assert.AreEqual(false, result);
        }
コード例 #4
0
        public void UnqualifiedFieldResolution()
        {
            Facts.Assert(Context.Property(BtsProperties.SuppressRoutingFailureDiagnosticInfo).WithValue(true));

            ExecutePolicy();

            Facts.Verify(Context.Property(TrackingProperties.ProcessName).WithValue(Dummy.Processes.Four).HasBeenWritten());
        }
コード例 #5
0
        public void StaticConstResolution()
        {
            Facts.Assert(Context.Property(BtsProperties.AckRequired).WithValue(true));

            ExecutePolicy();

            Facts.Verify(Context.Property(TrackingProperties.ProcessName).WithValue(Dummy.Processes.Three).HasBeenWritten());
        }
コード例 #6
0
        public void QualifiedPropertyResolution()
        {
            Facts.Assert(Context.Property(BtsProperties.IsRequestResponse).WithValue(true));

            ExecutePolicy();

            Facts.Verify(Context.Property(TrackingProperties.ProcessName).WithValue(Dummy.Processes.One).HasBeenWritten());
        }
コード例 #7
0
        public void Either_Result_2()
        {
            Facts.Clear();
            Facts.Assert(p2, "Fam.FamilyRelationship", p1, "Biological child");
            Tbool result = Fam.IsBiologicalParentOf(p1, p2);

            Assert.AreEqual(true, result.Out);
        }
コード例 #8
0
        public void SymFU()
        {
            Facts.Clear();
            Facts.Assert(p1, "IsMarriedTo", p2, false);
            Tbool result = Facts.Sym(p1, "IsMarriedTo", p2);

            Assert.AreEqual(false, result.Out);
        }
コード例 #9
0
        public void StaticCallResolution()
        {
            Facts.Assert(Context.Property(BizTalkFactoryProperties.CorrelationToken).WithValue("StaticCallResolution"));

            ExecutePolicy();

            Facts.Verify(Context.Property(TrackingProperties.ProcessName).WithValue("HelloFromStaticCallResolution").HasBeenWritten());
        }
コード例 #10
0
        public void Fam_2()
        {
            Facts.Reset();
            Facts.Assert(p2, "Fam.FamilyRelationship", p1, "Partner by civil union");
            bool result = Fam.InCivilUnion(p1, p2).IsTrue;

            Assert.AreEqual(true, result);
        }
コード例 #11
0
        public void Fam_4()
        {
            Facts.Reset();
            Facts.Assert(p2, "Fam.FamilyRelationship", p1, "Something other than civil union...");
            bool result = Fam.InCivilUnion(p1, p2).IsTrue;

            Assert.AreEqual(false, result);
        }
        public void IndirectAccess()
        {
            Facts.Assert(Context.Property(FileProperties.ReceivedFileName).WithValue("some-accessViaVariable-file.csv"));

            ExecutePolicy();

            Facts.Verify(Context.Property(BizTalkFactoryProperties.SenderName).WithValue("variableValue").HasBeenPromoted());
        }
コード例 #13
0
        public void ExecutePropertyMember()
        {
            Facts.Assert(Context.Property(FileProperties.ReceivedFileName).WithValue("token.csv"));

            ExecutePolicy();

            Facts.Verify(Context.Property(BizTalkFactoryProperties.CorrelationToken).WithValue("computed value!").HasBeenWritten());
        }
コード例 #14
0
        public void NotEqualToStringResolution()
        {
            Facts.Assert(Context.Property(BtsProperties.ReceiveLocationName).WithValue("ActualReceiveLocationName"));

            ExecutePolicy();

            Facts.Verify(Context.Property(BtsProperties.ReceivePortName).WithValue("NotEqualToString").HasBeenWritten());
        }
コード例 #15
0
        public void StaticPropertyResolution()
        {
            Facts.Assert(Context.Property(BizTalkFactoryProperties.CorrelationToken).WithValue("StaticPropertyResolution"));

            ExecutePolicy();

            Facts.Verify(Context.Property(FileProperties.FileCreationTime).WithValue(DateTime.Today).HasBeenWritten());
        }
コード例 #16
0
        public void NotEqualToIntegerResolution()
        {
            Facts.Assert(Context.Property(BtsProperties.ActualRetryCount).WithValue(2));

            ExecutePolicy();

            Facts.Verify(Context.Property(BtsProperties.ReceivePortName).WithValue("NotEqualToInteger").HasBeenWritten());
        }
コード例 #17
0
        public void NegationResolution()
        {
            Facts.Assert(Context.Property(BtsProperties.AckRequired).WithValue(false));

            ExecutePolicy();

            Facts.Verify(Context.Property(BtsProperties.ReceivePortName).WithValue("NotAckRequired").HasBeenWritten());
        }
コード例 #18
0
        public void BooleanPredicateResolution()
        {
            Facts.Assert(Context.Property(BtsProperties.AckRequired).WithValue(true));

            ExecutePolicy();

            Facts.Verify(Context.Property(BtsProperties.ReceivePortName).WithValue("AckRequired").HasBeenWritten());
        }
コード例 #19
0
        public void ExecuteRule()
        {
            Facts.Assert(Context.Property(BtsProperties.MessageType).WithValue("WriteFromContext"));

            ExecutePolicy();

            Facts.Verify(Context.Property(TrackingProperties.ProcessName).WithValue("WriteFromContext").HasBeenWritten());
        }
コード例 #20
0
        public void ExecuteConstantToLambdaToExpressionRule()
        {
            Facts.Assert(Context.Property(FileProperties.ReceivedFileName).WithValue("no-folder-file.csv"));

            ExecutePolicy();

            Facts.Verify(Context.Property(BizTalkFactoryProperties.OutboundTransportLocation).WithValue("folder/no-folder-file.csv").HasBeenWritten());
        }
コード例 #21
0
        public void SymTF()
        {
            Facts.Clear();
            Facts.Assert(p1, "IsMarriedTo", p2, true);
            Facts.Assert(p2, "IsMarriedTo", p1, false);                         // contradictory assertion
            Tbool result = Facts.Sym(p1, "IsMarriedTo", p2);

            Assert.AreEqual(true, result.Out);    // what is desired here? (or forbid contradictions)
        }
コード例 #22
0
        public void SymTT()
        {
            Facts.Clear();
            Facts.Assert(p1, "IsMarriedTo", p2, true);
            Facts.Assert(p2, "IsMarriedTo", p1, true);
            Tbool result = Facts.Sym(p1, "IsMarriedTo", p2);

            Assert.AreEqual(true, result.Out);
        }
コード例 #23
0
        public void FactOrder3b()
        {
            Facts.Reset();
            Facts.GetUnknowns = true;
            Facts.Assert(p1, "B", p2, false);
            Tbool theRule = A() & !B();

            Assert.AreEqual("A", ShowUnknownTest());
        }
コード例 #24
0
        public void FactOrder1d()
        {
            Facts.Reset();
            Facts.GetUnknowns = true;
            Facts.Assert(p1, "C", p2, true);
            Tbool theRule = A() & B() & C();

            Assert.AreEqual("A B", ShowUnknownTest());
        }
コード例 #25
0
        public void Compiled1b()
        {
            Facts.Clear();
            Thing p = new Thing("p");

            Facts.Assert(p, "Gender", "Male");
            Tbool result = AllAreMale(new Tset(p));

            Assert.AreEqual(true, result.Out);
        }
コード例 #26
0
        public void AllKnownPeople4()
        {
            Facts.Clear();
            Thing P1 = new Thing("P1");

            Facts.Assert(P1, "Gender", "Male");
            Tset result = Facts.AllKnownPeople();

            Assert.AreEqual("P1", result.Out);
        }
コード例 #27
0
        public void TypeMemberAccessRule()
        {
            Facts.Assert(Context.Property(BtsProperties.MessageType).WithValue(Schema <btf2_envelope> .MessageType));

            ExecutePolicy();

            Facts
            .Verify(Context.Property(BizTalkFactoryProperties.ReceiverName).WithValue("ControlBasedBatcher").HasBeenPromoted())
            .Verify(Context.Property(BizTalkFactoryProperties.EnvelopeSpecName).WithValue(typeof(btf2_envelope).AssemblyQualifiedName).HasBeenPromoted());
        }
コード例 #28
0
        public void ProcessTenBResolution()
        {
            Facts
            .Assert(Context.Property(BtsProperties.MessageType).WithValue("Z_IDOC#TEN"))
            .Assert(Context.Property(BizTalkFactoryProperties.CorrelationToken).WithValue("Z2UMD_392_DEM_CAN"));

            ExecutePolicy();

            Facts.Verify(Context.Property(TrackingProperties.ProcessName).WithValue("ProcessTen").HasBeenWritten());
        }
コード例 #29
0
        public void WithoutClearingFactList()
        {
            Facts.Assert(Context.Property(BtsProperties.MessageType).WithValue("message-type"));

            ExecutePolicy();

            Assert.That(
                () => Facts.Verify(Context.Property(TrackingProperties.ProcessName).HasNotBeenSet()),
                Throws.TypeOf <MockException>());
        }
コード例 #30
0
        public void ExtensionMethodResolution()
        {
            Facts
            .Assert(Context.Property(BizTalkFactoryProperties.CorrelationToken).WithValue("ExtensionMethodResolution"))
            .Assert(Context.Property(BizTalkFactoryProperties.SenderName).WithValue("0000001234567890"));

            ExecutePolicy();

            Facts.Verify(Context.Property(TrackingProperties.ProcessName).WithValue("00001234567890").HasBeenWritten());
        }