|
SupportedSyntax
Currently supported syntax for Specify.That()
Comparison operationsEqualitySpecify.That(Foo, Should.Equal(45)); Specify.That(Foo, Should.Yield(45)); Should.Equal and Should.Yield are equivalent; you can use whichever one is more readable in any given context. Here's an example of Should.Yield. Reference equalitySpecify.That(Foo, Should.ReferTo(Bar)); InequalitySpecify.That(Foo, Should.Be.AtLeast(45)); Specify.That(Foo, Should.Be.AtMost(45)); Specify.That(Foo, Should.Be.Between(45, 48)); Specify.That(Foo, Should.Be.GreaterThan(45)); Specify.That(Foo, Should.Be.GreaterThanOrEqualTo(45)); Specify.That(Foo, Should.Be.InRange(45, 48)); Specify.That(Foo, Should.Be.LessThan(45)); Specify.That(Foo, Should.Be.LessThanOrEqualTo(45)); AtLeast and GreaterThanOrEqualTo are equivalent; use whichever name is more readable. The same goes for AtMost and LessThanOrEqualTo. TypeSpecify.That(Foo, Should.Be.OfType(TComponent)); Specific valuesSpecify.That(Foo, Should.Be.Assigned); Specify.That(Foo, Should.Be.Null); Specify.That(Foo, Should.Be.True); Specify.That(Foo, Should.Be.False); Additional options for comparisonsMessagesSpecify.That(Frequency, Should.Equal(440), 'Frequency'); Specify.That() takes an optional third parameter, which corresponds directly to the Message parameter in DUnit's CheckEquals() methods. This is a must if you have more than one call to Specify.That() in a single test method. NegationSpecify.That(Foo, Should.Not.Equal(45)); Everything that supports Should... also supports Should.Not... Epsilons (ToWithin)Specify.That(Foo, Should.Equal(45.0)); // default epsilon Specify.That(Foo, Should.Equal(45.0).ToWithin(0.00001)); Specify.That(Foo, Should.Equal(45.0).Exactly); // no epsilon Floating-point values are notoriously inexact. DUnitLite lets you specify an "epsilon", a number that specifies how close the values should be to be considered equal. If you don't specify an epsilon, DUnitLite will call Delphi's SameValue function to provide a reasonable epsilon for you. You can also specify your own epsilon with .ToWithin() or .Exactly. Future plansFutureSyntax lists some possible syntax that may be added in future versions. |
Sign in to add a comment