public void CompareToWithUnequalObjectTypes()
        {
            GroupRegistrationId first = new GroupRegistrationId("a");
            object second             = new object();

            Assert.Throws <ArgumentException>(() => first.CompareTo(second));
        }
        public void CompareToOperatorWithEqualObjects()
        {
            var    first  = new GroupRegistrationId("a");
            object second = first.Clone();

            Assert.AreEqual(0, first.CompareTo(second));
        }
        public void CompareToWithSmallerFirstObject()
        {
            var first  = new GroupRegistrationId("a");
            var second = new GroupRegistrationId("b");

            Assert.IsTrue(first.CompareTo(second) < 0);
        }
        public void Clone()
        {
            GroupRegistrationId first  = new GroupRegistrationId("a");
            GroupRegistrationId second = first.Clone();

            Assert.AreEqual(first, second);
        }
        public void CompareToWithNullObject()
        {
            GroupRegistrationId first = new GroupRegistrationId("a");
            object second             = null;

            Assert.AreEqual(1, first.CompareTo(second));
        }
        public void SmallerThanOperatorWithFirstObjectSmaller()
        {
            var first  = new GroupRegistrationId("a");
            var second = new GroupRegistrationId("b");

            Assert.IsTrue(first < second);
        }
        public void SmallerThanOperatorWithEqualObjects()
        {
            var first  = new GroupRegistrationId("a");
            var second = first.Clone();

            Assert.IsFalse(first < second);
        }
        public void SmallerThanOperatorWithBothObjectsNull()
        {
            GroupRegistrationId first  = null;
            GroupRegistrationId second = null;

            Assert.IsFalse(first < second);
        }
        public void SmallerThanOperatorWithSecondObjectNull()
        {
            GroupRegistrationId first  = new GroupRegistrationId("a");
            GroupRegistrationId second = null;

            Assert.IsFalse(first < second);
        }
        public void LargerThanOperatorWithSecondObjectNull()
        {
            GroupRegistrationId first  = new GroupRegistrationId("a");
            GroupRegistrationId second = null;

            Assert.IsTrue(first > second);
        }