public void SetParameters_InvHexTooLarge_Error()
		{
			CustomAssert.ThrowsException<ConstraintConfigurationException>(() =>
			{
				EnumValuesConstraint c = new EnumValuesConstraint();
				c.SetParametersInternal(new string[] { "Byte", "Flags", "RelativeOrAbsolute=0x1000", "Absolute=0x2000", "Relative=0x4000" }, ParameterDataType.Enum);
			});
		}
		public void SetParameters_InvHexValue_Error()
		{
			CustomAssert.ThrowsException<ConstraintConfigurationException>(() =>
			{
				EnumValuesConstraint c = new EnumValuesConstraint();
				c.SetParametersInternal(new string[] { "Int32", "RelativeOrAbsolute=0xnarf", "Absolute=2", "Relative=3" }, ParameterDataType.Enum);
			});
		}
		public void SetParameters_FlagsHex_Success()
		{
			EnumValuesConstraint c = new EnumValuesConstraint();
			c.SetParametersInternal(new string[] { "Int32", "Flags", "ReadOnly=0x01", "Hidden=0x02", "System=0x04" }, ParameterDataType.Enum);
			Assert.AreEqual(ParameterDataType.Int32, c.UnderlyingDataType);
			Assert.AreEqual(typeof(int), c.UnderlyingType);
			Assert.IsTrue(c.HasFlags);
			Assert.IsNotNull(c.EnumValues);
			Assert.AreEqual(3, c.EnumValues.Count);
			Assert.AreEqual(4, c.EnumValues["System"]);
		}
		public void SetParameters_TooFewParams_Error()
		{
			CustomAssert.ThrowsException<ConstraintConfigurationException>(() =>
			{
				EnumValuesConstraint c = new EnumValuesConstraint();
				c.SetParametersInternal(new string[] { "Int32" }, ParameterDataType.Enum);
			});

			CustomAssert.ThrowsException<ConstraintConfigurationException>(() =>
			{
				EnumValuesConstraint c = new EnumValuesConstraint();
				c.SetParametersInternal(new string[] { "Int32", "Flags" }, ParameterDataType.Enum);
			});
		}
		public void SetParameters_Success()
		{
			EnumValuesConstraint c = new EnumValuesConstraint();
			c.SetParametersInternal(new string[] { "Int32", "RelativeOrAbsolute=1", "Absolute=2", "Relative=3" }, ParameterDataType.Enum);
			Assert.AreEqual(ParameterDataType.Int32, c.UnderlyingDataType);
			Assert.AreEqual(typeof(int), c.UnderlyingType);
			Assert.IsFalse(c.HasFlags);
			Assert.IsNotNull(c.EnumValues);
			Assert.AreEqual(3, c.EnumValues.Count);
		}