public static GraphCompareResults XamlCompare(Object root1, Object root2)
        {
            ObjectGraph graph1 = ObjectGraphWalker.Create(root1);
            ObjectGraph graph2 = ObjectGraphWalker.Create(root2);

            return(ObjectGraphComparer.Compare(graph1, graph2, null));
        }
        /// <summary>
        /// Helper for testing parity with the TreeComparer
        /// </summary>
        /// <param name="root1"></param>
        /// <param name="root2"></param>
        /// <param name="v1CompareResults"></param>
        public static void XamlCompareParity(Object root1, Object root2, CompareResult v1CompareResults)
        {
            GraphCompareResults compareResults = ObjectGraphComparer.XamlCompare(root1, root2);

            bool traceGraphs = false;

            // If results dont match between the two comparers //
            if ((compareResults.Passed == true && v1CompareResults == CompareResult.Different) ||
                (compareResults.Passed == false && v1CompareResults == CompareResult.Equivalent))
            {
                //Log.TraceInternal("Results do not match between XamlTreeComparer and ObjectGraphComparer");
                traceGraphs = true;
            }

            // If it was a failure or the compares dont match //
            if (v1CompareResults == CompareResult.Different || traceGraphs == true)
            {
                string tmpName = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
                //Log.TraceInternal("Logging object graphs - " + tmpName + "*.xml");

                ObjectGraph.Serialize(ObjectGraphWalker.Create(root1), tmpName + "root1.xml");
                ObjectGraph.Serialize(ObjectGraphWalker.Create(root2), tmpName + "root2.xml");
                ObjectGraph.Serialize(compareResults.ResultGraph, tmpName + "result.xml");

                //Log.TraceInternal("Exceptions are as follows:");

                foreach (CompareError error in compareResults.Errors)
                {
                    //Log.TraceInternal(string.Format("Node: {0}  Message= {1}", error.Node1.QualifiedName, error.Error.Message));
                }
            }
        }
Exemple #3
0
        public void IsPersistedTest()
        {
            var obj = new ObjectGraphWalker();

            var manager = new MiniSessionManager();
            var session = manager.OpenSession();

            Assert.AreEqual(null, obj.IsPersisted(new User(), session));
        }
Exemple #4
0
        public void AssociateGraphWithSessionTest()
        {
            var obj = new ObjectGraphWalker();

            var manager = new MiniSessionManager();
            var session = manager.OpenSession();

            Assert.AreEqual(null, obj.IsPersisted(new User(), session));
            var user = obj.AssociateGraphWithSession(new User(), manager);
            //Assert.AreEqual("", user.Name);
        }
Exemple #5
0
 public ObjectGraph Clone()
 {
     return(ObjectGraphWalker.Create(this.Data));
 }