public void EvaluateInterfaces()
        {
            var model = new InterfacesModel();

            model.Value = 255;
            var type = typeof(InterfacesModel);

            var allInterfaces = type.GetInterfaces();

            Assert.IsTrue(allInterfaces.Any());

            var icomparableInterface = type.GetInterface("IComparable");

            Assert.IsNotNull(icomparableInterface);

            var compareTo = (int)icomparableInterface.GetMethod("CompareTo").Invoke(model, new object[] { 0 });

            Assert.IsTrue(compareTo > 0);
            compareTo = (int)icomparableInterface.GetMethod("CompareTo").Invoke(model, new object[] { new System.Drawing.Rectangle() });
            Assert.AreEqual(compareTo, 0);

            var icomparableGenericInterface = type.GetInterface("IComparable`1");

            Assert.IsNotNull(icomparableGenericInterface);
            compareTo = (int)icomparableInterface.GetMethod("CompareTo").Invoke(model, new object[] { int.MaxValue });
            Assert.IsTrue(compareTo < 0);
        }
        public void EvaluateInterfaces()
        {
            var model = new InterfacesModel();
            model.Value = 255;
            var type = typeof(InterfacesModel);

            var allInterfaces = type.GetInterfaces();
            Assert.IsTrue(allInterfaces.Any());

            var icomparableInterface = type.GetInterface("IComparable");
            Assert.IsNotNull(icomparableInterface);

            var compareTo = (int)icomparableInterface.GetMethod("CompareTo").Invoke(model, new object[] { 0 });
            Assert.IsTrue(compareTo > 0);
            compareTo = (int)icomparableInterface.GetMethod("CompareTo").Invoke(model, new object[] { new System.Drawing.Rectangle() });
            Assert.AreEqual(compareTo, 0);

            var icomparableGenericInterface = type.GetInterface("IComparable`1");
            Assert.IsNotNull(icomparableGenericInterface);
            compareTo = (int)icomparableInterface.GetMethod("CompareTo").Invoke(model, new object[] { int.MaxValue });
            Assert.IsTrue(compareTo < 0);
        }