Beispiel #1
0
        public void MathContextStacking()
        {
            MathContext c1 = MathContext.Current;

            Assert.IsNotNull(c1, "01");
            Assert.AreNotEqual(Guid.Empty, c1.InstanceId, "02");
            Guid id1 = c1.InstanceId;

            Assert.AreEqual(id1, MathContext.Current.InstanceId, "03");
            Assert.AreEqual(false, c1.HasParent, "04");
            Assert.IsNull(c1.ParentContext, "05");

            using (MathContext c2 = MathContext.Create())
            {
                Assert.IsNotNull(c2, "06");
                Assert.AreNotEqual(Guid.Empty, c2.InstanceId, "07");
                Assert.AreNotEqual(c1.InstanceId, c2.InstanceId, "08");
                Assert.AreEqual(true, c2.HasParent, "09");
                Assert.AreEqual(c1.InstanceId, c2.ParentContext.InstanceId, "10");
                Assert.AreEqual(id1, c1.InstanceId, "11");
                Assert.AreEqual(c2.InstanceId, MathContext.Current.InstanceId, "12");
            }

            Assert.AreEqual(id1, MathContext.Current.InstanceId, "13");
            Assert.AreEqual(id1, c1.InstanceId, "14");
        }