public void CanConvertToStringOnly()
        {
            TypeConverter c = new UniqueKeyConverter();

            Assert.IsTrue(c.CanConvertTo(typeof(string)));
            Assert.IsFalse(c.CanConvertTo(typeof(object)));
        }
        public void ConvertToEqualsToString()
        {
            object    testObject = new object();
            UniqueKey key        = UniqueKey.GetInstanceScoped(testObject, "PartialKey");

            TypeConverter c         = new UniqueKeyConverter();
            string        stringKey = (string)c.ConvertTo(key, typeof(string));

            Assert.AreEqual(key.ToString(), stringKey);
        }
        public void ConvertToAndFromAreInSync()
        {
            object    testObject  = new object();
            UniqueKey expectedKey = UniqueKey.GetInstanceScoped(testObject, "PartialKey");

            TypeConverter c         = new UniqueKeyConverter();
            string        stringKey = (string)c.ConvertTo(expectedKey, typeof(string));
            UniqueKey     key2      = (UniqueKey)c.ConvertFrom(stringKey);

            Assert.AreEqual(expectedKey, key2);
        }
 public void ConvertFromStringOrUniqueKeyOnly()
 {
     TypeConverter c = new UniqueKeyConverter();
     UniqueKey key = UniqueKey.GetInstanceScoped(new object(), "PartialKey");
     c.ConvertFrom(key);
     c.ConvertFrom(key.ToString());
     try
     {
         c.ConvertFrom(new object());
         Assert.Fail();
     }
     catch(NotSupportedException) {}
 }
        public void ConvertFromStringOrUniqueKeyOnly()
        {
            TypeConverter c   = new UniqueKeyConverter();
            UniqueKey     key = UniqueKey.GetInstanceScoped(new object(), "PartialKey");

            c.ConvertFrom(key);
            c.ConvertFrom(key.ToString());
            try
            {
                c.ConvertFrom(new object());
                Assert.Fail();
            }
            catch (NotSupportedException) {}
        }
 public void ConvertToReturnsNullIfInputNull()
 {
     TypeConverter c = new UniqueKeyConverter();
     Assert.IsNull(c.ConvertTo(null, typeof(string)));
 }
 public void ConvertFromReturnsNullIfInputNull()
 {
     TypeConverter c = new UniqueKeyConverter();
     Assert.IsNull(c.ConvertFrom(null)); 
 }
 public void CanConvertToStringOnly()
 {
     TypeConverter c = new UniqueKeyConverter();
     Assert.IsTrue(c.CanConvertTo(typeof(string)));
     Assert.IsFalse(c.CanConvertTo(typeof(object)));
 }
        public void ConvertToAndFromAreInSync()
        {
            object testObject = new object();
            UniqueKey expectedKey = UniqueKey.GetInstanceScoped(testObject, "PartialKey");

            TypeConverter c = new UniqueKeyConverter();
            string stringKey = (string)c.ConvertTo(expectedKey, typeof(string));
            UniqueKey key2 = (UniqueKey) c.ConvertFrom(stringKey);
            Assert.AreEqual( expectedKey, key2 );
        }
        public void ConvertToEqualsToString()
        {
            object testObject = new object();
            UniqueKey key = UniqueKey.GetInstanceScoped(testObject, "PartialKey");

            TypeConverter c = new UniqueKeyConverter();
            string stringKey = (string) c.ConvertTo(key, typeof(string));
            Assert.AreEqual(key.ToString(), stringKey);
        }
        public void ConvertToReturnsNullIfInputNull()
        {
            TypeConverter c = new UniqueKeyConverter();

            Assert.IsNull(c.ConvertTo(null, typeof(string)));
        }
        public void ConvertFromReturnsNullIfInputNull()
        {
            TypeConverter c = new UniqueKeyConverter();

            Assert.IsNull(c.ConvertFrom(null));
        }