コード例 #1
0
ファイル: ConstraintTests.cs プロジェクト: microsoft/Zen
        public void TestStateSet1()
        {
            var c   = new ZenConstraint <int>(i => And(i < 10, i >= 1));
            var set = c.StateSet();

            Assert.IsFalse(set.IsEmpty());
            Assert.IsFalse(set.IsFull());
            Assert.IsTrue(set.Element() < 10 && set.Element() >= 1);
        }
コード例 #2
0
ファイル: ConstraintTests.cs プロジェクト: microsoft/Zen
        public void TestStateSet2()
        {
            var c1 = new ZenConstraint <uint>(x => x == 1);
            var c2 = new ZenConstraint <uint, uint>((x, y) => And(x == 1, y == 1));
            var c3 = new ZenConstraint <uint, uint, uint>((x, y, z) => And(x == 1, y == 1, z == 1));
            var c4 = new ZenConstraint <uint, uint, uint, uint>((w, x, y, z) => And(w == 1, x == 1, y == 1, z == 1));

            var v1 = c1.StateSet().Element();
            var v2 = c2.StateSet().Element();
            var v3 = c3.StateSet().Element();
            var v4 = c4.StateSet().Element();

            Assert.AreEqual(1U, v1);
            Assert.AreEqual(1U, v2.Item1);
            Assert.AreEqual(1U, v2.Item2);
            Assert.AreEqual(1U, v3.Item1);
            Assert.AreEqual(1U, v3.Item2);
            Assert.AreEqual(1U, v3.Item3);
            Assert.AreEqual(1U, v4.Item1);
            Assert.AreEqual(1U, v4.Item2);
            Assert.AreEqual(1U, v4.Item3);
            Assert.AreEqual(1U, v4.Item4);
        }