public void CharConstrained() { var i = new ConstrainedNumeric <char>('b', 'd'); Assert.AreEqual('b', i.LowerBound); Assert.AreEqual('d', i.UpperBound); i.Value = 'c'; Assert.AreEqual('c', i.Value); i.Value = 'a'; Assert.AreEqual('b', i.Value); i.Value = 'e'; Assert.AreEqual('d', i.Value); i.Value = 'b'; Assert.AreEqual('b', i.Value); i.Value = 'd'; Assert.AreEqual('d', i.Value); Assert.AreEqual('d', i); var a = new ConstrainedNumeric <char>('c', 'd') { Value = 'c' }; i.Value = 'c'; Assert.AreEqual(a, i); i.Value = 'd'; Assert.AreNotEqual(a, i); Assert.IsTrue(a < i); Assert.IsTrue(i > a); }
public void EnumConstrained() { var i = new ConstrainedNumeric <int>((int)DayOfWeek.Monday, (int)DayOfWeek.Saturday); Assert.AreEqual((int)DayOfWeek.Monday, i.LowerBound); Assert.AreEqual((int)DayOfWeek.Saturday, i.UpperBound); i.Value = (int)DayOfWeek.Tuesday; Assert.AreEqual((int)DayOfWeek.Tuesday, i.Value); }
public void DateTimeConstrained() { var i = new ConstrainedNumeric <DateTime>(new DateTime(2020, 9, 11), new DateTime(2020, 9, 15)); Assert.AreEqual(new DateTime(2020, 9, 11), i.LowerBound); Assert.AreEqual(new DateTime(2020, 9, 15), i.UpperBound); i.Value = new DateTime(2020, 9, 12); Assert.AreEqual(new DateTime(2020, 9, 12), i.Value); i.Value = new DateTime(2020, 9, 10); Assert.AreEqual(new DateTime(2020, 9, 11), i.Value); i.Value = new DateTime(2020, 9, 16); Assert.AreEqual(new DateTime(2020, 9, 15), i.Value); i.Value = new DateTime(2020, 9, 11); Assert.AreEqual(new DateTime(2020, 9, 11), i.Value); i.Value = new DateTime(2020, 9, 15); Assert.AreEqual(new DateTime(2020, 9, 15), i.Value); Assert.AreEqual(new DateTime(2020, 9, 15), i); var a = new ConstrainedNumeric <DateTime>(new DateTime(2020, 8, 11), new DateTime(2020, 8, 15)) { Value = new DateTime(2020, 8, 13) }; var b = new ConstrainedNumeric <DateTime>(new DateTime(2020, 8, 11), new DateTime(2020, 8, 15)) { Value = new DateTime(2020, 8, 13) }; Assert.IsTrue(a == b); i.Value = new DateTime(2020, 9, 13); Assert.AreNotEqual(a, i); Assert.IsTrue(a < i); Assert.IsTrue(i > a); }
public void IntegerConstrained() { var i = new ConstrainedNumeric <int>(5, 10); Assert.AreEqual(5, i.LowerBound); Assert.AreEqual(10, i.UpperBound); i.Value = 6; Assert.AreEqual(6, i.Value); i.Value = 4; Assert.AreEqual(5, i.Value); i.Value = 11; Assert.AreEqual(10, i.Value); i.Value = 5; Assert.AreEqual(5, i.Value); i.Value = 10; Assert.AreEqual(10, i.Value); Assert.AreEqual(10, i); var a = new ConstrainedNumeric <int>(4, 6) { Value = 5 }; i.Value = 5; Assert.AreEqual(a, i); i.Value = 6; Assert.AreNotEqual(a, i); Assert.IsTrue(a < i); Assert.IsTrue(i > a); }