public void TestLookupOperators() { var x = LikertScale.Slightly; var y = LikertScale.Slightly; Assert.AreEqual(true, x.Equals(x)); Assert.AreEqual(true, x == x); Assert.AreEqual(true, x.Equals(LikertScale.Slightly)); Assert.AreEqual(true, x == LikertScale.Slightly); Assert.AreEqual(true, x == y); Assert.AreEqual(false, x > y); Assert.AreEqual(false, x < y); Assert.AreEqual(false, x != y); Assert.AreEqual(false, x == LikertScale.Moderately); Assert.AreEqual(false, x > LikertScale.Moderately); Assert.AreEqual(true, x < LikertScale.Moderately); Assert.AreEqual(true, x != LikertScale.Moderately); Assert.AreEqual(true, x == 1); Assert.AreEqual(false, x > 1); Assert.AreEqual(false, x < 1); Assert.AreEqual(false, x != 1); Assert.AreEqual(false, x == 2); Assert.AreEqual(false, x > 2); Assert.AreEqual(true, x < 2); Assert.AreEqual(true, x != 2); Assert.AreEqual(x.Equals(y), y.Equals(x)); Assert.AreEqual(x == y, y == x); Assert.AreEqual(x.Equals(LikertScale.Slightly), LikertScale.Slightly.Equals(x)); Assert.AreEqual(x == LikertScale.Slightly, LikertScale.Slightly == x); Assert.AreEqual(x.Equals(LikertScale.Moderately), LikertScale.Moderately.Equals(x)); Assert.AreEqual(x == LikertScale.Moderately, LikertScale.Moderately == x); Assert.AreEqual(false, x.Equals(null)); LikertScale z = null; Assert.AreEqual(true, z == null); Assert.AreEqual(false, z != null); Assert.AreEqual(x == z, z == x); z = LikertScale.NotAtAll; Assert.AreEqual(false, z == null); Assert.AreEqual(true, z != null); Assert.AreEqual(x == z, z == x); //if (x.Equals(y) && y.Equals(z)) returns true, then x.Equals(z) returns true. }
/// <summary> /// Creates a <see cref="Microsoft.Practices.EnterpriseLibrary.Validation.Validator"/> that will validate /// a field with a domain list of allowable values. /// </summary> /// <param name="scale">The list of valid options.</param> /// <returns>A <see cref="Microsoft.Practices.EnterpriseLibrary.Validation.Validator"/> that will validate /// a field with a domain list of allowable values.</returns> private Validator CreateValidatorForLikertScale(LikertScale scale) { string[] optionValues = scale.Select(x => x.Value.ToString(CultureInfo.InvariantCulture)).ToArray(); return new NullableDomainValidator<object>(ValidationMessage.InvalidOption, optionValues); }