/// <summary>
        /// Asserts that the <see cref="PropDef"/> does not have a default matching the <paramref name="expectedReadWriteRule"/>
        /// </summary>
        /// <param name="propDef"></param>
        /// <param name="expectedReadWriteRule"></param>
        public static void ShouldHaveReadWriteRule(this IPropDef propDef, PropReadWriteRule expectedReadWriteRule)
        {
            var tester = new PropDefTester(propDef);

            tester.ShouldHaveReadWriteRule(expectedReadWriteRule);
        }
        /// <summary>
        /// Asserts that the <see cref="PropDef"/> has a default
        /// </summary>
        /// <param name="propDef"></param>
        public static void ShouldHaveDefault(this IPropDef propDef)
        {
            var tester = new PropDefTester(propDef);

            tester.ShouldHaveDefault();
        }
        /// <summary>
        /// Asserts that the <see cref="PropDef"/> does not have a default matching the <paramref name="expectedDefaultValueString"/>
        /// </summary>
        /// <param name="propDef"></param>
        /// <param name="expectedDefaultValueString"></param>
        public static void ShouldNotHaveDefault(this IPropDef propDef, string expectedDefaultValueString)
        {
            var tester = new PropDefTester(propDef);

            tester.ShouldNotHaveDefault(expectedDefaultValueString);
        }
        /// <summary>
        /// Asserts that the propDef is not set up as compulsory
        /// </summary>
        /// <param name="propDef"></param>
        public static void ShouldNotBeCompulsory(this IPropDef propDef)
        {
            var tester = new PropDefTester(propDef);

            tester.ShouldNotBeCompulsory();
        }