public void TestDefaultConstructor()
        {
            DuplicateNameException testException = new DuplicateNameException();

            string testExceptionString = testException.ToString();

            Assert.IsNotNull(testExceptionString);
        }
        public void TestInnerException()
        {
            Exception inner = new Exception("This is a test");
            DuplicateNameException testException = new DuplicateNameException(
                "Hello World", inner
                );

            Assert.AreSame(inner, testException.InnerException);
        }
        public void TestSerialization()
        {
            BinaryFormatter formatter = new BinaryFormatter();

            using (MemoryStream memory = new MemoryStream()) {
                DuplicateNameException exception1 = new DuplicateNameException("Hello World");

                formatter.Serialize(memory, exception1);
                memory.Position = 0;
                object exception2 = formatter.Deserialize(memory);

                Assert.IsInstanceOf <DuplicateNameException>(exception2);
                Assert.AreEqual(exception1.Message, ((DuplicateNameException)exception2).Message);
            }
        }