public void Defaults () { RepeatBehavior rb = new RepeatBehavior (); Assert.IsTrue (rb.HasCount, "HasCount"); Assert.IsFalse (rb.HasDuration, "HasCount"); Assert.AreEqual (0.0, rb.Count, "Count"); Assert.Throws<InvalidOperationException> (delegate { Assert.AreEqual (TimeSpan.Zero, rb.Duration, "Duration"); }, "Duration"); Assert.AreEqual ("0x", rb.ToString (), "ToString"); }
public void DoubleConstructor () { RepeatBehavior rb = new RepeatBehavior (1.0); Assert.IsTrue (rb.HasCount, "HasCount"); Assert.IsFalse (rb.HasDuration, "HasCount"); Assert.AreEqual (1.0, rb.Count, "Count"); Assert.Throws<InvalidOperationException> (delegate { Assert.AreEqual (TimeSpan.Zero, rb.Duration, "Duration"); }, "Duration"); Assert.AreEqual ("1x", rb.ToString (), "ToString"); Assert.Throws<ArgumentOutOfRangeException> (delegate { rb = new RepeatBehavior (-0.1); }, "Negative"); Assert.Throws<ArgumentOutOfRangeException> (delegate { rb = new RepeatBehavior (Double.MinValue); }, "MinValue"); Assert.Throws<ArgumentOutOfRangeException> (delegate { rb = new RepeatBehavior (Double.NegativeInfinity); }, "NegativeInfinity"); Assert.Throws<ArgumentOutOfRangeException> (delegate { rb = new RepeatBehavior (Double.PositiveInfinity); }, "PositiveInfinity"); Assert.Throws<ArgumentOutOfRangeException> (delegate { rb = new RepeatBehavior (Double.NaN); }, "NaN"); rb = new RepeatBehavior (Double.MaxValue); Assert.IsTrue (rb.HasCount, "HasCount-Max"); Assert.IsFalse (rb.HasDuration, "HasDuration-Max"); Assert.AreEqual (Double.MaxValue, rb.Count, "Count-Max"); Assert.AreEqual ("1.79769313486232E+308x", rb.ToString (), "ToString"); Assert.IsFalse (rb.Equals (RepeatBehavior.Forever), "Max!=Forever"); }
public void TimeSpanConstructor () { RepeatBehavior rb = new RepeatBehavior (TimeSpan.Zero); Assert.IsFalse (rb.HasCount, "HasCount"); Assert.IsTrue (rb.HasDuration, "HasDuration"); Assert.Throws<InvalidOperationException> (delegate { Assert.AreEqual (0, rb.Count, "Count"); }, "Count"); Assert.AreEqual (TimeSpan.Zero, rb.Duration, "Duration"); Assert.AreEqual (TimeSpan.Zero.ToString (), rb.ToString (), "ToString"); Assert.Throws<ArgumentOutOfRangeException> (delegate { rb = new RepeatBehavior (new TimeSpan (-1)); }, "Negative"); Assert.Throws<ArgumentOutOfRangeException> (delegate { rb = new RepeatBehavior (TimeSpan.MinValue); }, "MinValue"); rb = new RepeatBehavior (TimeSpan.MaxValue); Assert.IsFalse (rb.HasCount, "HasCount-Max"); Assert.IsTrue (rb.HasDuration, "HasDuration-Max"); Assert.AreEqual (TimeSpan.MaxValue, rb.Duration, "Duration"); Assert.AreEqual ("10675199.02:48:05.4775807", rb.ToString (), "ToString"); Assert.IsFalse (rb.Equals (RepeatBehavior.Forever), "Max!=Forever"); }
public void RepeatBehaviorDurationToStringIFormatProvider () { RepeatBehavior rb = new RepeatBehavior (TimeSpan.MaxValue); RepeatBehaviorFormatter.CallCount = 0; Assert.AreEqual ("10675199.02:48:05.4775807", rb.ToString (null), "null"); Assert.AreEqual (0, RepeatBehaviorFormatter.CallCount, "CallCount-a"); Assert.AreEqual ("10675199.02:48:05.4775807", rb.ToString (new RepeatBehaviorFormatter ()), "RepeatBehaviorFormatter"); // unused Assert.AreEqual (0, RepeatBehaviorFormatter.CallCount, "CallCount"); }
public void RepeatBehaviorCountToStringIFormatProvider () { RepeatBehavior rb = new RepeatBehavior (2); RepeatBehaviorFormatter.CallCount = 0; Assert.AreEqual ("2x", rb.ToString (null), "null"); Assert.AreEqual (0, RepeatBehaviorFormatter.CallCount, "CallCount-a"); Assert.AreEqual ("[2]x", rb.ToString (new RepeatBehaviorFormatter ()), "RepeatBehaviorFormatter"); // 1 time: one per double (1), no call for 'x' Assert.AreEqual (1, RepeatBehaviorFormatter.CallCount, "CallCount"); }