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); }