Exemplo n.º 1
0
        public static void Test(Assignments ass, CellAss cell)
        {
            Contract.Requires(Contract.Acc(ass.a) && Contract.Acc(ass.c) && Contract.Acc(ass.c.Value) &&
                              Contract.Acc(cell.Value));
            var d = new Assignments();

            Contract.Assert(d.a == 0);
            Contract.Assert(d.c.Value == 0);
            ass.a = 1;
            Contract.Assert(ass.a == 1);
            ass.c.Value = 2;
            Contract.Assert(ass.c.Value == 2);
            cell.Value = 3;
            Contract.Assert(cell.Value == 3);
            ass.c = cell;
            Contract.Assert(ass.c == cell);
            Contract.Assert(ass.c.Value == 3);
            d.a = 4;
            Contract.Assert(d.a == 4);
            d.c.Value = 5;
            Contract.Assert(d.c.Value == 5);
            d.c = ass.c;
            Contract.Assert(d.c == ass.c);
            d = ass;
            Contract.Assert(d.a == 1);
            Contract.Assert(d == ass);
        }
Exemplo n.º 2
0
        public Assignments()
        {
            Contract.Ensures(Contract.Acc(this.a) && this.a == 0);
            Contract.Ensures(Contract.Acc(this.c) && Contract.Acc(this.c.Value) && this.c.Value == 0);

            this.a = 0;
            this.c = new CellAss();
        }