Example #1
0
        public override bool Equals(object o)
        {
            if (this == o)
            {
                return(true);
            }

            if (o == null)
            {
                return(false);
            }

            RootImplementation that = (RootImplementation)o;

            if (that.aDouble != aDouble)
            {
                return(false);
            }

            if (anInt != that.anInt)
            {
                return(false);
            }

            if (anInterface != null ? !anInterface.Equals(that.anInterface) : that.anInterface != null)
            {
                return(false);
            }

            if (optionalString != null ? !optionalString.Equals(that.optionalString) : that.optionalString != null)
            {
                return(false);
            }

            if (requiredString != null ? !requiredString.Equals(that.requiredString) : that.requiredString != null)
            {
                return(false);
            }

            if (injectableClass != null ? !injectableClass.Equals(that.injectableClass) : that.injectableClass != null)
            {
                return(false);
            }

            if (setOfImplementations != null
                    ? !setOfImplementations.Equals(that.setOfImplementations)
                    : that.setOfImplementations != null)
            {
                return(false);
            }

            if (setOfBaseTypes != null ? !setOfBaseTypes.Equals(that.setOfBaseTypes) : that.setOfBaseTypes != null)
            {
                return(false);
            }

            //TODO: to recover once Avro NuGet support it
            //if (listOfBaseTypes != null ? !listOfBaseTypes.Equals(that.listOfBaseTypes) : that.listOfBaseTypes != null)
            //{
            //    return false;
            //}
            if (cyclicDependency != null
                    ? !cyclicDependency.Equals(that.cyclicDependency)
                    : that.cyclicDependency != null)
            {
                return(false);
            }

            return(true);
        }