public void Xor()
 {
     var obj = new UnrelatedType8().ToContract<IXorOperator<int>>();
     Assert.IsFalse(obj.Xor(1));
 }
 public void And()
 {
     var obj = new UnrelatedType8().ToContract<IAndOperator<int>>();
     Assert.IsTrue(obj.And(1));
 }
 public void LessThanOrEqual()
 {
     var obj = new UnrelatedType8().ToContract<IComparableTo5<int>>();
     Assert.IsTrue(obj.LessThanOrEqual(1));
 }
 public void GreaterThanOrEqual()
 {
     var obj = new UnrelatedType8().ToContract<IComparableTo4<int>>();
     Assert.IsFalse(obj.GreaterThanOrEqual(1));
 }
 public void ContractInheritance()
 {
     var obj = new UnrelatedType8();
     Assert.IsTrue(obj.Satisfies<ICastableTo<int>>());
     Assert.IsTrue(obj.Satisfies<ICastableToInt>());
     Assert.AreEqual((int) obj, obj.ToContract<ICastableToInt>().Cast());
 }
        public void MoreGenericMethods()
        {
            var obj = new UnrelatedType8();
            Assert.IsTrue(obj.Satisfies<IGenericMethod2>());
            var cObj = obj.ToContract<IGenericMethod2>();
            var cObjStr = cObj.GetGeneric(obj, 0, obj);
            Assert.IsTrue(obj.ToString() + obj.ToString() == cObjStr);

        }