Example #1
0
        private static ComparisonMismatch VerifyTableToObject(object obj,
                                                              Func <Type, IList <MemberWrapper> > getMembers,
                                                              Func <object, MemberWrapper, object> getMemberValue,
                                                              Func <string, string, bool> compareMethod)
        {
            var comparison = new ComparisonMismatch();

            foreach (var row in Rows)
            {
                foreach (var header in Headers)
                {
                    var foundMember = getMembers(obj.GetType()).FirstOrDefault(m => m.Name == header);
                    if (foundMember == null)
                    {
                        if (!_ignoreMissingMembers)
                        {
                            comparison.Add(string.Format("Missing member '{0}'", header));
                        } // else do nothing
                    }
                    else
                    {
                        comparison.Compare(row[header], getMemberValue(obj, foundMember).ToString(), compareMethod, "VerifyTableToObject");
                    }
                }
            }
            return(comparison);
        }
Example #2
0
        private static ComparisonMismatch VerifyObjectToTable(object obj,
                                                              Func <Type, IList <MemberWrapper> > getMembers,
                                                              Func <object, MemberWrapper, object> getMemberValue,
                                                              Func <string, string, bool> compareMethod)
        {
            var members    = getMembers(obj.GetType());
            var comparison = new ComparisonMismatch();

            foreach (var row in Rows)
            {
                foreach (var member in members)
                {
                    comparison.Compare(getMemberValue(obj, member).ToString(), row[member.Name], compareMethod, "VerifyObjectToTable");
                }
            }
            return(comparison);
        }
Example #3
0
        private static ComparisonMismatch CompareMembersToMembers(object objSource, object objDestination,
                                                                  Func <Type, IList <MemberWrapper> > getSourceMembers, Func <Type, IList <MemberWrapper> > getDestinationMembers,
                                                                  Func <object, MemberWrapper, object> getSourceMemberValue, Func <object, MemberWrapper, object> getDestinationMemberValue,
                                                                  Func <string, string, bool> compareMethod)
        {
            var comparison = new ComparisonMismatch();

            foreach (var member in getSourceMembers(objSource.GetType()))
            {
                var foundMember = getDestinationMembers(objDestination.GetType()).FirstOrDefault(m => m.Name == member.Name);
                if (foundMember == null)
                {
                    if (!_ignoreMissingMembers)
                    {
                        comparison.Add(string.Format("Missing member '{0}'", member.Name));
                    } // else do nothing
                }
                else
                {
                    comparison.Compare(getSourceMemberValue(objSource, member).ToString(), getDestinationMemberValue(objDestination, foundMember).ToString(), compareMethod, "CompareMembersToMembers");
                }
            }
            return(comparison);
        }