Пример #1
0
            public static bool Equals(MetaProgram.List thisObj, MetaProgram.List obj)
            {
                //If not a list
                //if (!(obj is List))
                //    return false;

                if (obj.Count() != thisObj.Count())
                {
                    return(false);
                }
                //Same length
                else
                {
                    //Deep check
                    List current = thisObj;
                    List temp    = obj;
                    while (current != null)
                    {
                        //Iterate
                        if (temp.value != current.value)
                        {
                            return(false);
                        }
                        current = current.next;
                        temp    = temp.next;
                    }
                }
                return(true);
            }
Пример #2
0
        public static void Check1([PexAssumeUnderTest] MetaProgram.List l, [PexAssumeUnderTest] MetaProgram.List l2, int x)
        {
            PexAssume.IsTrue(MetaProgram.List.Equals(l, l2));
            PexAssume.AreNotSame(l, l2);

            PexAssume.IsTrue(l.Count() <= 1);

            //int oldCount = l.Count();
            PexObserve.ValueForViewing("old_count", l.Count());
            //PexObserve.ValueForViewing("old_last", l.Last());
            //l.addToEnd(x); //bad
            //l.addToEnd2(x); //bad
            l.addToEnd3(x); //bad
            PexObserve.ValueForViewing("new_count", l.Count());
            //PexObserve.ValueForViewing("new_last", l.Last());

            l2.addToEndSolutionForReal(x); //Reference
            PexAssert.IsTrue(MetaProgram.List.Equals(l, l2));
        }