public void Equals_should_return_value_for_class_without_generic_parameter()
        {
            var instance = new WithoutGenericParameter();

            instance.Z = 12;
            instance.A = 1;
            var propInstance = new GenericClassNormalClass();
            var array        = new GenericClassNormalClass[1];

            array[0]   = propInstance;
            instance.B = array;

            var instance2 = new WithoutGenericParameter();

            instance2.Z = 12;
            instance2.A = 1;
            var array2        = new GenericClassNormalClass[1];
            var propInstance2 = new GenericClassNormalClass();

            array2[0]   = propInstance2;
            instance2.B = array2;

            var result = instance.Equals(instance2);

            Assert.True(result);
        }
        public void GetHashCode_should_return_value_for_class_without_generic_parameter()
        {
            var instance = new WithoutGenericParameter {
                Z = 12, A = 1
            };
            var propInstance = new GenericClassNormalClass();
            var array        = new GenericClassNormalClass[1];

            array[0]   = propInstance;
            instance.B = array;

            var result = instance.GetHashCode();

            Assert.NotEqual(0, result);
        }