Dictionary Rule Extensions
Tests of the dictionary extension methods exposed to the rule DSL, the fraud and AML toolkit of ratio, velocity, volatility and distribution helpers.
General
BooleanExtensionsTests
Jube.Test.Dictionary.Extensions.BooleanExtensionsTests — 2 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
ToBinaryConvertsToOneOrZero |
Theory | To binary converts to one or zero. |
ToStringWithTrueAndFalseValuesSelectsTheMatchingOne |
Theory | To string with true and false values selects the matching one. |
CharExtensionsTests
Jube.Test.Dictionary.Extensions.CharExtensionsTests — 33 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
ConvertToUtf32CombinesASurrogatePairIntoItsCodePoint |
Fact | Convert to utf32 combines a surrogate pair into its code point. |
GetNumericValueReturnsTheDigitsValueOrMinusOneForNonDigits |
Theory | Get numeric value returns the digits value or minus one for non digits. |
GetUnicodeCategoryDelegatesToTheBclImplementation |
Theory | Get unicode category delegates to the bcl implementation. |
InChecksMembershipAgainstTheProvidedValues |
Theory | In checks membership against the provided values. |
NotInIsTheInverseOfIn |
Theory | Not in is the inverse of in. |
IsControlDelegatesToTheBcl |
Theory | Is control delegates to the bcl. |
IsDigitDelegatesToTheBcl |
Theory | Is digit delegates to the bcl. |
IsHighSurrogateDelegatesToTheBcl |
Theory | Is high surrogate delegates to the bcl. |
IsLetterDelegatesToTheBcl |
Theory | Is letter delegates to the bcl. |
IsLetterOrDigitDelegatesToTheBcl |
Theory | Is letter or digit delegates to the bcl. |
IsLowerDelegatesToTheBcl |
Theory | Is lower delegates to the bcl. |
IsLowSurrogateDelegatesToTheBcl |
Theory | Is low surrogate delegates to the bcl. |
IsNumberDelegatesToTheBcl |
Theory | Is number delegates to the bcl. |
IsPunctuationDelegatesToTheBcl |
Theory | Is punctuation delegates to the bcl. |
IsSeparatorDelegatesToTheBcl |
Theory | Is separator delegates to the bcl. |
IsSurrogateDelegatesToTheBcl |
Theory | Is surrogate delegates to the bcl. |
IsSurrogatePairRecognisesAValidHighLowPairAndRejectsAnInvalidOne |
Fact | Is surrogate pair recognises a valid high low pair and rejects an invalid one. |
IsSymbolDelegatesToTheBcl |
Theory | Is symbol delegates to the bcl. |
IsUpperDelegatesToTheBcl |
Theory | Is upper delegates to the bcl. |
IsWhiteSpaceDelegatesToTheBcl |
Theory | Is white space delegates to the bcl. |
RepeatBuildsAStringOfTheCharacterRepeatedNTimes |
Fact | Repeat builds a string of the character repeated n times. |
RepeatWithZeroProducesAnEmptyString |
Fact | Repeat with zero produces an empty string. |
ToEnumeratesInclusivelyFromThisCharacterToTheTarget |
Fact | To enumerates inclusively from this character to the target. |
ToReversesTheSequenceWhenTheTargetPrecedesThisCharacter |
Fact | To reverses the sequence when the target precedes this character. |
ToWithTheSameStartAndEndYieldsASingleCharacter |
Fact | To with the same start and end yields a single character. |
ToLowerWithoutCultureConvertsToLowercase |
Fact | To lower without culture converts to lowercase. |
ToLowerWithAnExplicitCultureUsesThatCulturesRules |
Fact | To lower with an explicit culture uses that cultures rules. |
ToLowerInvariantIgnoresCurrentCulture |
Fact | To lower invariant ignores current culture. |
ToStringConvertsACharacterToASingleCharacterString |
Fact | To string converts a character to a single character string. |
ToUpperWithoutCultureConvertsToUppercase |
Fact | To upper without culture converts to uppercase. |
ToUpperWithAnExplicitCultureUsesThatCulturesRules |
Fact | To upper with an explicit culture uses that cultures rules. |
ToUpperInvariantIgnoresCurrentCulture |
Fact | To upper invariant ignores current culture. |
NonAlphabeticCharactersAreUnchangedByCasingConversions |
Fact | Non alphabetic characters are unchanged by casing conversions. |
DateAndStructuredDataExtensionsTests
Jube.Test.Dictionary.Extensions.DateAndStructuredDataExtensionsTests — 15 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
AgeAsOfCountsCompletedYears |
Theory | Age as of counts completed years. |
AgeInDaysAsOfIgnoresTheTimeOfDay |
Fact | Age in days as of ignores the time of day. |
ComparisonHelpersCompareInstants |
Fact | Comparison helpers compare instants. |
WholeMonthsBetweenCountsCompletedMonths |
Theory | Whole months between counts completed months. |
WholeYearsBetweenCountsCompletedYears |
Fact | Whole years between counts completed years. |
AddBusinessDaysSkipsWeekends |
Theory | Add business days skips weekends. |
AddBusinessDaysAgreesWithBusinessDaysUntil |
Fact | Add business days agrees with business days until. |
QuarterBoundariesAndFiscalPeriods |
Fact | Quarter boundaries and fiscal periods. |
IsLastDayOfMonthHandlesLeapYears |
Fact | Is last day of month handles leap years. |
IntervalOverlapsTreatsTouchingIntervalsAsDisjoint |
Fact | Interval overlaps treats touching intervals as disjoint. |
EpochConversionsRoundTrip |
Fact | Epoch conversions round trip. |
Iso8601AndExactParsing |
Fact | Iso8601 and exact parsing. |
TimeZoneHelpersUseIanaZones |
Fact | Time zone helpers use iana zones. |
JsonHelpersNavigateDottedAndIndexedPaths |
Fact | Json helpers navigate dotted and indexed paths. |
XmlHelpersReadValuesAndRefuseDtds |
Fact | Xml helpers read values and refuse dtds. |
DateTimeExtensionsTests
Jube.Test.Dictionary.Extensions.DateTimeExtensionsTests — 63 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
AgeIsComputedFromTodayRelativeToTheBirthDate |
Fact | Age is computed from today relative to the birth date. |
AgeDoesNotCountThisYearWhenTheBirthdayHasNotYetOccurred |
Fact | Age does not count this year when the birthday has not yet occurred. |
AgeOnTheExactBirthdayCountsTheYearAlready |
Fact | Age on the exact birthday counts the year already. |
BetweenIsTrueOnlyStrictlyInsideTheRangeExcludingBothEndpoints |
Fact | Between is true only strictly inside the range excluding both endpoints. |
ConvertTimeBySystemTimeZoneIdWithASingleZoneConvertsFromLocalToTheDestinationZone |
Fact | Convert time by system time zone id with a single zone converts from local to the destination zone. |
ConvertTimeBySystemTimeZoneIdWithSourceAndDestinationConvertsBetweenTheTwoNamedZones |
Fact | Convert time by system time zone id with source and destination converts between the two named zones. |
ConvertTimeBySystemTimeZoneIdThrowsForAnUnknownTimeZoneId |
Fact | Convert time by system time zone id throws for an unknown time zone id. |
ConvertTimeWithASingleDestinationZoneMatchesTimeZoneInfoConvertTime |
Fact | Convert time with a single destination zone matches time zone info convert time. |
ConvertTimeWithSourceAndDestinationZonesMatchesTimeZoneInfoConvertTime |
Fact | Convert time with source and destination zones matches time zone info convert time. |
ConvertTimeFromUtcConvertsAUtcInstantIntoTheDestinationZonesLocalTime |
Fact | Convert time from utc converts a utc instant into the destination zones local time. |
ConvertTimeToUtcWithNoSourceZoneReturnsAnAlreadyUtcValueUnchanged |
Fact | Convert time to utc with no source zone returns an already utc value unchanged. |
ConvertTimeToUtcWithAnExplicitSourceZoneThrowsWhenTheKindIsUtcButTheZoneIsNot |
Fact | Convert time to utc with an explicit source zone throws when the kind is utc but the zone is not. |
ConvertTimeToUtcWithNoSourceZoneConvertsAnUnspecifiedOrLocalDateTimeToUtc |
Fact | Convert time to utc with no source zone converts an unspecified or local date time to utc. |
ConvertTimeToUtcWithAnExplicitSourceZoneConvertsToUtc |
Fact | Convert time to utc with an explicit source zone converts to utc. |
ElapsedReturnsTheDurationSinceTheGivenDateTimeMeasuredAgainstNow |
Fact | Elapsed returns the duration since the given date time measured against now. |
EndOfDayReturnsOneMillisecondBeforeMidnightOfTheSameDay |
Fact | End of day returns one millisecond before midnight of the same day. |
EndOfMonthReturnsOneMillisecondBeforeMidnightOnTheFirstOfTheNextMonth |
Fact | End of month returns one millisecond before midnight on the first of the next month. |
EndOfMonthHandlesFebruaryInALeapYearCorrectly |
Fact | End of month handles february in a leap year correctly. |
EndOfWeekReturnsTheLastMomentOfTheDayBeforeTheNextStartDayOfWeek |
Theory | End of week returns the last moment of the day before the next start day of week. |
EndOfYearReturnsOneMillisecondBeforeMidnightOnJanuaryFirstOfTheNextYear |
Fact | End of year returns one millisecond before midnight on january first of the next year. |
FirstDayOfWeekReturnsTheSundayOfThatWeekAtMidnight |
Fact | First day of week returns the sunday of that week at midnight. |
InReturnsTrueOnlyWhenTheExactDateTimeIsAmongTheProvidedValues |
Fact | In returns true only when the exact date time is among the provided values. |
NotInIsTheInverseOfIn |
Fact | Not in is the inverse of in. |
InRangeIsInclusiveOfBothEndpointsUnlikeBetween |
Fact | In range is inclusive of both endpoints unlike between. |
IsAfternoonIsTrueAtOrAfterNoon |
Theory | Is afternoon is true at or after noon. |
IsMorningIsTrueOnlyBeforeNoon |
Theory | Is morning is true only before noon. |
IsDateEqualComparesOnlyTheDatePortionIgnoringTime |
Fact | Is date equal compares only the date portion ignoring time. |
IsTimeEqualComparesOnlyTheTimeOfDayIgnoringTheDate |
Fact | Is time equal compares only the time of day ignoring the date. |
IsDaylightSavingTimeDelegatesToTheLegacyTimeZoneApi |
Fact | Is daylight saving time delegates to the legacy time zone api. |
IsFutureIsTrueForADateTimeAfterNow |
Fact | Is future is true for a date time after now. |
IsPastIsTrueForADateTimeBeforeNow |
Fact | Is past is true for a date time before now. |
IsNowIsPracticallyAlwaysFalseBecauseExactEqualityToTheCurrentInstantIsNotAchievable |
Fact | Is now is practically always false because exact equality to the current instant is not achievable. |
IsTodayIsTrueForAnyTimeOnTheCurrentDateAndFalseOtherwise |
Fact | Is today is true for any time on the current date and false otherwise. |
IsWeekDayIsFalseOnlyForSaturdayAndSunday |
Theory | Is week day is false only for saturday and sunday. |
LastDayOfWeekReturnsTheSaturdayOfThatWeekAtMidnight |
Fact | Last day of week returns the saturday of that week at midnight. |
SetTimeWithOnlyHourZeroesOutMinutesSecondsAndMilliseconds |
Fact | Set time with only hour zeroes out minutes seconds and milliseconds. |
SetTimeWithHourAndMinuteZeroesOutSecondsAndMilliseconds |
Fact | Set time with hour and minute zeroes out seconds and milliseconds. |
SetTimeWithHourMinuteAndSecondZeroesOutMilliseconds |
Fact | Set time with hour minute and second zeroes out milliseconds. |
SetTimeWithAllFourComponentsReplacesTheTimePortionEntirely |
Fact | Set time with all four components replaces the time portion entirely. |
StartOfDayZeroesOutTheTimePortion |
Fact | Start of day zeroes out the time portion. |
StartOfMonthReturnsTheFirstOfTheMonthAtMidnight |
Fact | Start of month returns the first of the month at midnight. |
StartOfWeekReturnsTheRequestedStartDayOfWeekAtMidnightNoLaterThanTheInput |
Theory | Start of week returns the requested start day of week at midnight no later than the input. |
StartOfYearReturnsJanuaryFirstAtMidnight |
Fact | Start of year returns january first at midnight. |
ToEpochTimeSpanMeasuresTheDurationSinceTheUnixEpoch |
Fact | To epoch time span measures the duration since the unix epoch. |
ToEpochTimeSpanIsNegativeForADateTimeBeforeTheEpoch |
Fact | To epoch time span is negative for a date time before the epoch. |
TomorrowAddsExactlyOneDayPreservingTheTimeOfDay |
Fact | Tomorrow adds exactly one day preserving the time of day. |
YesterdaySubtractsExactlyOneDayPreservingTheTimeOfDay |
Fact | Yesterday subtracts exactly one day preserving the time of day. |
TomorrowAndYesterdayAreInversesOfEachOther |
Fact | Tomorrow and yesterday are inverses of each other. |
EachFormatStringProducesWhatDateTimeToStringWouldProduceUnderTheSameCulture |
Theory | Each format string produces what date time to string would produce under the same culture. |
TheStringCultureNameOverloadAgreesWithTheCultureInfoOverload |
Theory | The string culture name overload agrees with the culture info overload. |
TheSortableDateTimeStringFormatIsCultureInvariantByDesignEvenWithADifferentCultureRequested |
Fact | The sortable date time string format is culture invariant by design even with a different culture requested. |
ToLongDateTimeStringIsAnAliasForTheFullDateTimeStringFormat |
Fact | To long date time string is an alias for the full date time string format. |
ToLongDateTimeStringWithACultureNameAgreesWithTheCultureInfoOverload |
Fact | To long date time string with a culture name agrees with the culture info overload. |
ToLongDateTimeStringMatchesDateTimeToStringWithTheFFormat |
Fact | To long date time string matches date time to string with the f format. |
BusinessDaysUntilCountsWeekdaysAfterTheStartUpToAndIncludingTheEnd |
Fact | Business days until counts weekdays after the start up to and including the end. |
BusinessDaysUntilOfTheSameDateIsZero |
Fact | Business days until of the same date is zero. |
BusinessDaysUntilIsNegativeWhenTheOtherDateIsEarlier |
Fact | Business days until is negative when the other date is earlier. |
QuarterOfYearMapsTheMonthToItsQuarter |
Theory | Quarter of year maps the month to its quarter. |
IsoWeekOfYearOfTheFirstMondayOfTwentyTwentyFourIsWeekOne |
Fact | Iso week of year of the first monday of twenty twenty four is week one. |
IsoWeekOfYearDelegatesToTheBclIsoWeekImplementation |
Fact | Iso week of year delegates to the bcl iso week implementation. |
AgeInDaysCountsWholeDaysSinceTheDate |
Fact | Age in days counts whole days since the date. |
AgeInDaysIsNegativeForAFutureDate |
Fact | Age in days is negative for a future date. |
IsWithinBusinessHoursChecksTheHourAgainstAHalfOpenRange |
Theory | Is within business hours checks the hour against a half open range. |
DoubleCalculationCollisionTests
Jube.Test.Dictionary.Extensions.DoubleCalculationCollisionTests — 3 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
NoCalculationNameIsAnInstanceOrStaticMemberOfDoubleWhichVbWouldBindFirst |
Fact | No calculation name is an instance or static member of double which vb would bind first. |
EveryCalculationIsAnExtensionOnDoubleReturningADouble |
Fact | Every calculation is an extension on double returning a double. |
EveryCalculationHasAboveBelowInRangeAndOutsideRangeComparisonSteps |
Fact | Every calculation has above below in range and outside range comparison steps. |
DoubleCalculationExtensionsTests
Jube.Test.Dictionary.Extensions.DoubleCalculationExtensionsTests — 82 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
RatioOfComputesTheDocumentedValue |
Theory | Ratio of computes the documented value. |
RatioOfIsNaNForANaNValueAndNeverInfinite |
Fact | Ratio of is na n for a na n value and never infinite. |
PercentOfComputesTheDocumentedValue |
Theory | Percent of computes the documented value. |
PercentOfIsNaNForANaNValueAndNeverInfinite |
Fact | Percent of is na n for a na n value and never infinite. |
ShareOfSumWithComputesTheDocumentedValue |
Theory | Share of sum with computes the documented value. |
ShareOfSumWithIsNaNForANaNValueAndNeverInfinite |
Fact | Share of sum with is na n for a na n value and never infinite. |
ComplementComputesTheDocumentedValue |
Theory | Complement computes the documented value. |
ComplementIsNaNForANaNValueAndNeverInfinite |
Fact | Complement is na n for a na n value and never infinite. |
LogRatioOfComputesTheDocumentedValue |
Theory | Log ratio of computes the documented value. |
LogRatioOfIsNaNForANaNValueAndNeverInfinite |
Fact | Log ratio of is na n for a na n value and never infinite. |
RatioOfRatiosComputesTheDocumentedValue |
Theory | Ratio of ratios computes the documented value. |
RatioOfRatiosIsNaNForANaNValueAndNeverInfinite |
Fact | Ratio of ratios is na n for a na n value and never infinite. |
InverseRatioOfComputesTheDocumentedValue |
Theory | Inverse ratio of computes the documented value. |
InverseRatioOfIsNaNForANaNValueAndNeverInfinite |
Fact | Inverse ratio of is na n for a na n value and never infinite. |
DifferenceFromComputesTheDocumentedValue |
Theory | Difference from computes the documented value. |
DifferenceFromIsNaNForANaNValueAndNeverInfinite |
Fact | Difference from is na n for a na n value and never infinite. |
AbsoluteDifferenceFromComputesTheDocumentedValue |
Theory | Absolute difference from computes the documented value. |
AbsoluteDifferenceFromIsNaNForANaNValueAndNeverInfinite |
Fact | Absolute difference from is na n for a na n value and never infinite. |
PercentDifferenceFromComputesTheDocumentedValue |
Theory | Percent difference from computes the documented value. |
PercentDifferenceFromIsNaNForANaNValueAndNeverInfinite |
Fact | Percent difference from is na n for a na n value and never infinite. |
RelativeChangeFromComputesTheDocumentedValue |
Theory | Relative change from computes the documented value. |
RelativeChangeFromIsNaNForANaNValueAndNeverInfinite |
Fact | Relative change from is na n for a na n value and never infinite. |
GrowthFactorFromComputesTheDocumentedValue |
Theory | Growth factor from computes the documented value. |
GrowthFactorFromIsNaNForANaNValueAndNeverInfinite |
Fact | Growth factor from is na n for a na n value and never infinite. |
SlopeFromComputesTheDocumentedValue |
Theory | Slope from computes the documented value. |
SlopeFromIsNaNForANaNValueAndNeverInfinite |
Fact | Slope from is na n for a na n value and never infinite. |
CompoundGrowthRateComputesTheDocumentedValue |
Theory | Compound growth rate computes the documented value. |
CompoundGrowthRateIsNaNForANaNValueAndNeverInfinite |
Fact | Compound growth rate is na n for a na n value and never infinite. |
PercentDeviationFromMeanComputesTheDocumentedValue |
Theory | Percent deviation from mean computes the documented value. |
PercentDeviationFromMeanIsNaNForANaNValueAndNeverInfinite |
Fact | Percent deviation from mean is na n for a na n value and never infinite. |
ModifiedZScoreComputesTheDocumentedValue |
Theory | Modified z score computes the documented value. |
ModifiedZScoreIsNaNForANaNValueAndNeverInfinite |
Fact | Modified z score is na n for a na n value and never infinite. |
CoefficientOfVariationComputesTheDocumentedValue |
Theory | Coefficient of variation computes the documented value. |
CoefficientOfVariationIsNaNForANaNValueAndNeverInfinite |
Fact | Coefficient of variation is na n for a na n value and never infinite. |
MinMaxNormaliseComputesTheDocumentedValue |
Theory | Min max normalise computes the documented value. |
MinMaxNormaliseIsNaNForANaNValueAndNeverInfinite |
Fact | Min max normalise is na n for a na n value and never infinite. |
PercentOfRangeComputesTheDocumentedValue |
Theory | Percent of range computes the documented value. |
PercentOfRangeIsNaNForANaNValueAndNeverInfinite |
Fact | Percent of range is na n for a na n value and never infinite. |
SumWithComputesTheDocumentedValue |
Theory | Sum with computes the documented value. |
SumWithIsNaNForANaNValueAndNeverInfinite |
Fact | Sum with is na n for a na n value and never infinite. |
SumWithTreatsANullArrayAsNoOthers |
Fact | Sum with treats a null array as no others. |
MeanWithComputesTheDocumentedValue |
Theory | Mean with computes the documented value. |
MeanWithIsNaNForANaNValueAndNeverInfinite |
Fact | Mean with is na n for a na n value and never infinite. |
MeanWithTreatsANullArrayAsNoOthers |
Fact | Mean with treats a null array as no others. |
MaxWithComputesTheDocumentedValue |
Theory | Max with computes the documented value. |
MaxWithIsNaNForANaNValueAndNeverInfinite |
Fact | Max with is na n for a na n value and never infinite. |
MaxWithTreatsANullArrayAsNoOthers |
Fact | Max with treats a null array as no others. |
MinWithComputesTheDocumentedValue |
Theory | Min with computes the documented value. |
MinWithIsNaNForANaNValueAndNeverInfinite |
Fact | Min with is na n for a na n value and never infinite. |
MinWithTreatsANullArrayAsNoOthers |
Fact | Min with treats a null array as no others. |
SpreadWithComputesTheDocumentedValue |
Theory | Spread with computes the documented value. |
SpreadWithIsNaNForANaNValueAndNeverInfinite |
Fact | Spread with is na n for a na n value and never infinite. |
SpreadWithTreatsANullArrayAsNoOthers |
Fact | Spread with treats a null array as no others. |
WeightedMeanWithComputesTheDocumentedValue |
Theory | Weighted mean with computes the documented value. |
WeightedMeanWithIsNaNForANaNValueAndNeverInfinite |
Fact | Weighted mean with is na n for a na n value and never infinite. |
GeometricMeanWithComputesTheDocumentedValue |
Theory | Geometric mean with computes the documented value. |
GeometricMeanWithIsNaNForANaNValueAndNeverInfinite |
Fact | Geometric mean with is na n for a na n value and never infinite. |
HarmonicMeanWithComputesTheDocumentedValue |
Theory | Harmonic mean with computes the documented value. |
HarmonicMeanWithIsNaNForANaNValueAndNeverInfinite |
Fact | Harmonic mean with is na n for a na n value and never infinite. |
ShareOfMaxComputesTheDocumentedValue |
Theory | Share of max computes the documented value. |
ShareOfMaxIsNaNForANaNValueAndNeverInfinite |
Fact | Share of max is na n for a na n value and never infinite. |
ShareOfMaxTreatsANullArrayAsNoOthers |
Fact | Share of max treats a null array as no others. |
HerfindahlWithComputesTheDocumentedValue |
Theory | Herfindahl with computes the documented value. |
HerfindahlWithIsNaNForANaNValueAndNeverInfinite |
Fact | Herfindahl with is na n for a na n value and never infinite. |
HerfindahlWithTreatsANullArrayAsNoOthers |
Fact | Herfindahl with treats a null array as no others. |
EntropyOfSharesWithComputesTheDocumentedValue |
Theory | Entropy of shares with computes the documented value. |
EntropyOfSharesWithIsNaNForANaNValueAndNeverInfinite |
Fact | Entropy of shares with is na n for a na n value and never infinite. |
EntropyOfSharesWithTreatsANullArrayAsNoOthers |
Fact | Entropy of shares with treats a null array as no others. |
HeadroomToComputesTheDocumentedValue |
Theory | Headroom to computes the documented value. |
HeadroomToIsNaNForANaNValueAndNeverInfinite |
Fact | Headroom to is na n for a na n value and never infinite. |
ExcessOverComputesTheDocumentedValue |
Theory | Excess over computes the documented value. |
ExcessOverIsNaNForANaNValueAndNeverInfinite |
Fact | Excess over is na n for a na n value and never infinite. |
ShortfallBelowComputesTheDocumentedValue |
Theory | Shortfall below computes the documented value. |
ShortfallBelowIsNaNForANaNValueAndNeverInfinite |
Fact | Shortfall below is na n for a na n value and never infinite. |
DistanceToThresholdComputesTheDocumentedValue |
Theory | Distance to threshold computes the documented value. |
DistanceToThresholdIsNaNForANaNValueAndNeverInfinite |
Fact | Distance to threshold is na n for a na n value and never infinite. |
PercentBelowThresholdComputesTheDocumentedValue |
Theory | Percent below threshold computes the documented value. |
PercentBelowThresholdIsNaNForANaNValueAndNeverInfinite |
Fact | Percent below threshold is na n for a na n value and never infinite. |
ImbalanceWithComputesTheDocumentedValue |
Theory | Imbalance with computes the documented value. |
ImbalanceWithIsNaNForANaNValueAndNeverInfinite |
Fact | Imbalance with is na n for a na n value and never infinite. |
RetentionAfterComputesTheDocumentedValue |
Theory | Retention after computes the documented value. |
RetentionAfterIsNaNForANaNValueAndNeverInfinite |
Fact | Retention after is na n for a na n value and never infinite. |
DoubleExtensionsTests
Jube.Test.Dictionary.Extensions.DoubleExtensionsTests — 75 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
AbsReturnsTheAbsoluteValue |
Theory | Abs returns the absolute value. |
AbsOfNegativeInfinityIsPositiveInfinity |
Fact | Abs of negative infinity is positive infinity. |
AcosOfOneIsZero |
Fact | Acos of one is zero. |
AcosOfAValueOutsideMinusOneToOneIsNaN |
Fact | Acos of a value outside minus one to one is na n. |
AsinOfZeroIsZero |
Fact | Asin of zero is zero. |
AsinOfAValueOutsideMinusOneToOneIsNaN |
Fact | Asin of a value outside minus one to one is na n. |
Atan2MatchesMathAtan2ForAPointInEachQuadrant |
Fact | Atan2 matches math atan2 for a point in each quadrant. |
AtanOfZeroIsZero |
Fact | Atan of zero is zero. |
AtanOfPositiveInfinityIsHalfPi |
Fact | Atan of positive infinity is half pi. |
BetweenIsExclusiveOfBothBounds |
Theory | Between is exclusive of both bounds. |
CeilingRoundsUpToTheSmallestIntegralValueNotLessThanTheInput |
Theory | Ceiling rounds up to the smallest integral value not less than the input. |
CosOfZeroIsOne |
Fact | Cos of zero is one. |
CosOfPiIsMinusOne |
Fact | Cos of pi is minus one. |
CoshOfZeroIsOne |
Fact | Cosh of zero is one. |
ExpOfZeroIsOne |
Fact | Exp of zero is one. |
ExpOfOneIsE |
Fact | Exp of one is e. |
FloorRoundsDownToTheLargestIntegralValueNotGreaterThanTheInput |
Theory | Floor rounds down to the largest integral value not greater than the input. |
FromDaysConvertsToATimeSpanOfThatManyDays |
Fact | From days converts to a time span of that many days. |
FromHoursConvertsToATimeSpanOfThatManyHours |
Fact | From hours converts to a time span of that many hours. |
FromMillisecondsConvertsToATimeSpanOfThatManyMilliseconds |
Fact | From milliseconds converts to a time span of that many milliseconds. |
FromMinutesConvertsToATimeSpanOfThatManyMinutes |
Fact | From minutes converts to a time span of that many minutes. |
FromOaDateConvertsAnOleAutomationDateToADateTime |
Fact | From Oa date converts an ole automation date to a date time. |
FromSecondsConvertsToATimeSpanOfThatManySeconds |
Fact | From seconds converts to a time span of that many seconds. |
IeeeRemainderFollowsBankersRoundingOfTheQuotientNotTruncatedDivisionRemainder |
Fact | Ieee remainder follows bankers rounding of the quotient not truncated division remainder. |
IeeeRemainderOfDivisionByZeroIsNaN |
Fact | Ieee remainder of division by zero is na n. |
InChecksMembershipAgainstTheProvidedValues |
Theory | In checks membership against the provided values. |
NotInIsTheInverseOfIn |
Theory | Not in is the inverse of in. |
InRangeIsInclusiveOfBothBoundsUnlikeBetween |
Theory | In range is inclusive of both bounds unlike between. |
IsInfinityDetectsEitherSignOfInfinity |
Theory | Is infinity detects either sign of infinity. |
IsNaNDetectsNotANumber |
Theory | Is na n detects not a number. |
IsNegativeInfinityOnlyDetectsTheNegativeCase |
Theory | Is negative infinity only detects the negative case. |
IsPositiveInfinityOnlyDetectsThePositiveCase |
Theory | Is positive infinity only detects the positive case. |
Log10OfOneIsZero |
Fact | Log10 of one is zero. |
Log10OfOneHundredIsTwo |
Fact | Log10 of one hundred is two. |
Log10OfZeroIsNegativeInfinity |
Fact | Log10 of zero is negative infinity. |
Log10OfANegativeNumberIsNaN |
Fact | Log10 of a negative number is na n. |
LogOfEIsOne |
Fact | Log of e is one. |
LogWithAnExplicitBaseMatchesThatBasesLogarithm |
Fact | Log with an explicit base matches that bases logarithm. |
MaxReturnsTheLargerOfTwoValues |
Theory | Max returns the larger of two values. |
MinReturnsTheSmallerOfTwoValues |
Theory | Min returns the smaller of two values. |
MaxWithNaNAlwaysReturnsNaN |
Fact | Max with na n always returns na n. |
PowRaisesTheFirstOperandToTheSecond |
Theory | Pow raises the first operand to the second. |
RoundWithNoDigitsUsesBankersRoundingOnMidpoints |
Theory | Round with no digits uses bankers rounding on midpoints. |
RoundWithDigitsRoundsToThatManyFractionalDigits |
Fact | Round with digits rounds to that many fractional digits. |
RoundWithAMidpointRoundingModeHonoursThatMode |
Theory | Round with a midpoint rounding mode honours that mode. |
RoundWithDigitsAndModeCombinesBothBehaviours |
Fact | Round with digits and mode combines both behaviours. |
SignReturnsMinusOneZeroOrOne |
Theory | Sign returns minus one zero or one. |
SinOfZeroIsZero |
Fact | Sin of zero is zero. |
SinOfHalfPiIsOne |
Fact | Sin of half pi is one. |
SinhOfZeroIsZero |
Fact | Sinh of zero is zero. |
SqrtReturnsThePositiveSquareRoot |
Theory | Sqrt returns the positive square root. |
SqrtOfANegativeNumberIsNaN |
Fact | Sqrt of a negative number is na n. |
TanOfZeroIsZero |
Fact | Tan of zero is zero. |
TanhOfZeroIsZero |
Fact | Tanh of zero is zero. |
TanhSaturatesToPlusOrMinusOneAtInfinity |
Fact | Tanh saturates to plus or minus one at infinity. |
ToMoneyRoundsToTwoDecimalPlacesUsingBankersRoundingJustLikeMathRound |
Theory | To money rounds to two decimal places using bankers rounding just like math round. |
TruncateDiscardsTheFractionalPartTowardZero |
Theory | Truncate discards the fractional part toward zero. |
HaversineDistanceKilometersOfAPointToItselfIsZero |
Fact | Haversine distance kilometers of a point to itself is zero. |
HaversineDistanceKilometersIsSymmetric |
Fact | Haversine distance kilometers is symmetric. |
HaversineDistanceKilometersOfOneDegreeOfLatitudeIsAboutOneHundredElevenKilometers |
Fact | Haversine distance kilometers of one degree of latitude is about one hundred eleven kilometers. |
HaversineDistanceMilesAgreesWithKilometersUsingTheStandardConversionFactor |
Fact | Haversine distance miles agrees with kilometers using the standard conversion factor. |
ImpliedTravelSpeedKmhDividesHaversineDistanceByHoursElapsed |
Fact | Implied travel speed kmh divides haversine distance by hours elapsed. |
ImpliedTravelSpeedKmhWithZeroOrNegativeHoursReturnsPositiveInfinity |
Theory | Implied travel speed kmh with zero or negative hours returns positive infinity. |
ClampRestrictsTheValueToTheGivenRange |
Theory | Clamp restricts the value to the given range. |
LerpInterpolatesBetweenThisAndEnd |
Theory | Lerp interpolates between this and end. |
PercentageChangeFromComputesRelativeChange |
Theory | Percentage change from computes relative change. |
PercentageChangeFromZeroPreviousValueIsPositiveInfinityWhenCurrentIsPositive |
Fact | Percentage change from zero previous value is positive infinity when current is positive. |
PercentageChangeFromZeroToZeroIsNaN |
Fact | Percentage change from zero to zero is na n. |
ZScoreMeasuresStandardDeviationsFromTheMean |
Theory | Z score measures standard deviations from the mean. |
IsRoundAmountChecksExactMultiples |
Theory | Is round amount checks exact multiples. |
IsRoundAmountWithNonPositiveNearestReturnsFalse |
Fact | Is round amount with non positive nearest returns false. |
IsJustBelowThresholdFlagsAmountsWithinTheMarginBelowTheThreshold |
Theory | Is just below threshold flags amounts within the margin below the threshold. |
IsWithinRadiusKmDelegatesToHaversineDistance |
Theory | Is within radius km delegates to haversine distance. |
LeadingSignificantDigitExtractsTheFirstNonZeroDigit |
Theory | Leading significant digit extracts the first non zero digit. |
IsWithinPercentOfChecksTheAbsolutePercentageChange |
Theory | Is within percent of checks the absolute percentage change. |
FlowAuditTests
Jube.Test.Dictionary.Extensions.FlowAuditTests — 27 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
ADefaultFlowIsUndecidedAndConvertsFalse |
Fact | A default flow is undecided and converts false. |
ADefaultFlowCanStillBeDecided |
Fact | A default flow can still be decided. |
EveryParseStepLeavesADecidedFlowDecidedWithoutParsing |
Fact | Every parse step leaves a decided flow decided without parsing. |
ParseStepsKeepTheScoreAndLabelOfTheFlow |
Fact | Parse steps keep the score and label of the flow. |
AFailedParseKeepsTheScoreButRecordsTheReason |
Fact | A failed parse keeps the score but records the reason. |
RawTransformersBeginAPipelineOrReturnAPlainNumberWithoutStart |
Fact | Raw transformers begin a pipeline or return a plain number without start. |
RawTransformersFailClosedOnBadInput |
Fact | Raw transformers fail closed on bad input. |
OrNaNAndOrZeroPassAValueThrough |
Theory | Or na n and or zero pass a value through. |
ANullNullableIsNaNForOrNaNAndZeroForOrZero |
Fact | A null nullable is na n for or na n and zero for or zero. |
ANonFiniteNullableIsNaNForOrNaNAndZeroForOrZero |
Fact | A non finite nullable is na n for or na n and zero for or zero. |
OrBetweenTwoPipelinesIsTrueWhenEitherMatched |
Fact | Or between two pipelines is true when either matched. |
AndBetweenTwoPipelinesIsTrueOnlyWhenBothMatched |
Fact | And between two pipelines is true only when both matched. |
OperatorsAcceptPipelinesOfDifferentTypesThroughTheBooleanForm |
Fact | Operators accept pipelines of different types through the boolean form. |
AnUndecidedRejectedBrokenOrErroredPipelineIsFalseInACombination |
Fact | An undecided rejected broken or errored pipeline is false in a combination. |
NotIsTrueForEverythingExceptAMatchedPipeline |
Fact | Not is true for everything except a matched pipeline. |
PlainArithmeticOnANumberReturnsANumberSoItFitsANumericRule |
Fact | Plain arithmetic on a number returns a number so it fits a numeric rule. |
ToDoubleOrNaNReadsInvariantNumbers |
Theory | To double or na n reads invariant numbers. |
ToDoubleOrNaNIsNaNForAnythingThatIsNotAFiniteNumber |
Theory | To double or na n is na n for anything that is not a finite number. |
ToNumberReadsTheValueOfANumericFlowAndIsNaNWhenErrored |
Fact | To number reads the value of a numeric flow and is na n when errored. |
APathologicalRegexTimesOutQuicklyAndIsFalseNotAHang |
Fact | A pathological regex times out quickly and is false not a hang. |
ARegexThatIsInvalidIsFalseNotAnException |
Fact | A regex that is invalid is false not an exception. |
EveryFoldedLetterMapsToItsPlainForm |
Theory | Every folded letter maps to its plain form. |
AMoreThanTheCacheLimitOfDistinctOptionStringsStillParsesCorrectly |
Fact | A more than the cache limit of distinct option strings still parses correctly. |
ATimeZoneWithDaylightSavingDoesNotShiftAWinterHour |
Fact | A time zone with daylight saving does not shift a winter hour. |
AZoneBoundaryCrossingMidnightChangesTheWeekday |
Fact | A zone boundary crossing midnight changes the weekday. |
ALocalKindValueIsConvertedViaUniversalTimeForZoneSteps |
Fact | A local kind value is converted via universal time for zone steps. |
AnUnspecifiedAndAUtcValueAreTreatedTheSameByZoneSteps |
Fact | An unspecified and a utc value are treated the same by zone steps. |
FlowBooleanTests
Jube.Test.Dictionary.Extensions.FlowBooleanTests — 2 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
IsTrueAppliesTheOutcomeOfEveryStepKind |
Theory | Is true applies the outcome of every step kind. |
IsFalseAppliesTheOutcomeOfEveryStepKind |
Theory | Is false applies the outcome of every step kind. |
FlowDateTimeTests
Jube.Test.Dictionary.Extensions.FlowDateTimeTests — 27 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
IsWeekdayAppliesTheOutcomeOfEveryStepKind |
Theory | Is weekday applies the outcome of every step kind. |
IsWeekendAppliesTheOutcomeOfEveryStepKind |
Theory | Is weekend applies the outcome of every step kind. |
IsMorningAppliesTheOutcomeOfEveryStepKind |
Theory | Is morning applies the outcome of every step kind. |
IsAfternoonAppliesTheOutcomeOfEveryStepKind |
Theory | Is afternoon applies the outcome of every step kind. |
BeforeAppliesTheOutcomeOfEveryStepKind |
Theory | Before applies the outcome of every step kind. |
AfterAppliesTheOutcomeOfEveryStepKind |
Theory | After applies the outcome of every step kind. |
BetweenAppliesTheOutcomeOfEveryStepKind |
Theory | Between applies the outcome of every step kind. |
InRangeAppliesTheOutcomeOfEveryStepKind |
Theory | In range applies the outcome of every step kind. |
SameDayAsAppliesTheOutcomeOfEveryStepKind |
Theory | Same day as applies the outcome of every step kind. |
WithinBusinessHoursAppliesTheOutcomeOfEveryStepKind |
Theory | Within business hours applies the outcome of every step kind. |
OutsideBusinessHoursAppliesTheOutcomeOfEveryStepKind |
Theory | Outside business hours applies the outcome of every step kind. |
WithinMinutesOfAppliesTheOutcomeOfEveryStepKind |
Theory | Within minutes of applies the outcome of every step kind. |
WithinHoursOfAppliesTheOutcomeOfEveryStepKind |
Theory | Within hours of applies the outcome of every step kind. |
WithinDaysOfAppliesTheOutcomeOfEveryStepKind |
Theory | Within days of applies the outcome of every step kind. |
MoreThanMinutesAfterAppliesTheOutcomeOfEveryStepKind |
Theory | More than minutes after applies the outcome of every step kind. |
MoreThanDaysAfterAppliesTheOutcomeOfEveryStepKind |
Theory | More than days after applies the outcome of every step kind. |
DayOfWeekInAppliesTheOutcomeOfEveryStepKind |
Theory | Day of week in applies the outcome of every step kind. |
IsStartOfMonthAppliesTheOutcomeOfEveryStepKind |
Theory | Is start of month applies the outcome of every step kind. |
IsEndOfMonthAppliesTheOutcomeOfEveryStepKind |
Theory | Is end of month applies the outcome of every step kind. |
WithinBusinessHoursInZoneAppliesTheOutcomeOfEveryStepKind |
Theory | Within business hours in zone applies the outcome of every step kind. |
OutsideBusinessHoursInZoneAppliesTheOutcomeOfEveryStepKind |
Theory | Outside business hours in zone applies the outcome of every step kind. |
WithinWeekdayBusinessHoursAppliesTheOutcomeOfEveryStepKind |
Theory | Within weekday business hours applies the outcome of every step kind. |
OutsideWeekdayBusinessHoursAppliesTheOutcomeOfEveryStepKind |
Theory | Outside weekday business hours applies the outcome of every step kind. |
WithinWeekdayBusinessHoursInZoneAppliesTheOutcomeOfEveryStepKind |
Theory | Within weekday business hours in zone applies the outcome of every step kind. |
OutsideWeekdayBusinessHoursInZoneAppliesTheOutcomeOfEveryStepKind |
Theory | Outside weekday business hours in zone applies the outcome of every step kind. |
IsWeekdayInZoneAppliesTheOutcomeOfEveryStepKind |
Theory | Is weekday in zone applies the outcome of every step kind. |
IsWeekendInZoneAppliesTheOutcomeOfEveryStepKind |
Theory | Is weekend in zone applies the outcome of every step kind. |
FlowDoubleTests
Jube.Test.Dictionary.Extensions.FlowDoubleTests — 196 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
GreaterAppliesTheOutcomeOfEveryStepKind |
Theory | Greater applies the outcome of every step kind. |
GreaterOrEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Greater or equal applies the outcome of every step kind. |
LessAppliesTheOutcomeOfEveryStepKind |
Theory | Less applies the outcome of every step kind. |
LessOrEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Less or equal applies the outcome of every step kind. |
EqualAppliesTheOutcomeOfEveryStepKind |
Theory | Equal applies the outcome of every step kind. |
NotEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Not equal applies the outcome of every step kind. |
BetweenAppliesTheOutcomeOfEveryStepKind |
Theory | Between applies the outcome of every step kind. |
InRangeAppliesTheOutcomeOfEveryStepKind |
Theory | In range applies the outcome of every step kind. |
OutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Outside range applies the outcome of every step kind. |
InAppliesTheOutcomeOfEveryStepKind |
Theory | In applies the outcome of every step kind. |
NotInAppliesTheOutcomeOfEveryStepKind |
Theory | Not in applies the outcome of every step kind. |
IsZeroAppliesTheOutcomeOfEveryStepKind |
Theory | Is zero applies the outcome of every step kind. |
IsPositiveAppliesTheOutcomeOfEveryStepKind |
Theory | Is positive applies the outcome of every step kind. |
IsNegativeAppliesTheOutcomeOfEveryStepKind |
Theory | Is negative applies the outcome of every step kind. |
IsNaNAppliesTheOutcomeOfEveryStepKind |
Theory | Is na n applies the outcome of every step kind. |
IsFiniteAppliesTheOutcomeOfEveryStepKind |
Theory | Is finite applies the outcome of every step kind. |
IsWholeNumberAppliesTheOutcomeOfEveryStepKind |
Theory | Is whole number applies the outcome of every step kind. |
IsMultipleOfAppliesTheOutcomeOfEveryStepKind |
Theory | Is multiple of applies the outcome of every step kind. |
WithinPercentOfAppliesTheOutcomeOfEveryStepKind |
Theory | Within percent of applies the outcome of every step kind. |
DeviatesFromByPercentAppliesTheOutcomeOfEveryStepKind |
Theory | Deviates from by percent applies the outcome of every step kind. |
IncreasedByMoreThanPercentAppliesTheOutcomeOfEveryStepKind |
Theory | Increased by more than percent applies the outcome of every step kind. |
DecreasedByMoreThanPercentAppliesTheOutcomeOfEveryStepKind |
Theory | Decreased by more than percent applies the outcome of every step kind. |
ZScoreAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Z score above applies the outcome of every step kind. |
ZScoreBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Z score below applies the outcome of every step kind. |
ZScoreOutsideAppliesTheOutcomeOfEveryStepKind |
Theory | Z score outside applies the outcome of every step kind. |
RatioAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio above applies the outcome of every step kind. |
RatioBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio below applies the outcome of every step kind. |
IsJustBelowThresholdAppliesTheOutcomeOfEveryStepKind |
Theory | Is just below threshold applies the outcome of every step kind. |
IsJustAboveThresholdAppliesTheOutcomeOfEveryStepKind |
Theory | Is just above threshold applies the outcome of every step kind. |
IsRoundAmountAppliesTheOutcomeOfEveryStepKind |
Theory | Is round amount applies the outcome of every step kind. |
WithinRadiusKmAppliesTheOutcomeOfEveryStepKind |
Theory | Within radius km applies the outcome of every step kind. |
OutsideRadiusKmAppliesTheOutcomeOfEveryStepKind |
Theory | Outside radius km applies the outcome of every step kind. |
DistanceKmAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Distance km above applies the outcome of every step kind. |
DistanceKmBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Distance km below applies the outcome of every step kind. |
ImpliedSpeedAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Implied speed above applies the outcome of every step kind. |
ImpliedSpeedBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Implied speed below applies the outcome of every step kind. |
HasValueAppliesTheOutcomeOfEveryStepKind |
Theory | Has value applies the outcome of every step kind. |
HasNoValueAppliesTheOutcomeOfEveryStepKind |
Theory | Has no value applies the outcome of every step kind. |
RatioInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio in range applies the outcome of every step kind. |
RatioOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio outside range applies the outcome of every step kind. |
IsJustBelowAnyThresholdAppliesTheOutcomeOfEveryStepKind |
Theory | Is just below any threshold applies the outcome of every step kind. |
IsJustAboveAnyThresholdAppliesTheOutcomeOfEveryStepKind |
Theory | Is just above any threshold applies the outcome of every step kind. |
WithinRadiusMilesAppliesTheOutcomeOfEveryStepKind |
Theory | Within radius miles applies the outcome of every step kind. |
OutsideRadiusMilesAppliesTheOutcomeOfEveryStepKind |
Theory | Outside radius miles applies the outcome of every step kind. |
DistanceMilesAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Distance miles above applies the outcome of every step kind. |
DistanceMilesBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Distance miles below applies the outcome of every step kind. |
ImpliedSpeedMphAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Implied speed mph above applies the outcome of every step kind. |
ImpliedSpeedMphBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Implied speed mph below applies the outcome of every step kind. |
RatioOfAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio of above applies the outcome of every step kind. |
RatioOfBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio of below applies the outcome of every step kind. |
RatioOfInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio of in range applies the outcome of every step kind. |
RatioOfOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio of outside range applies the outcome of every step kind. |
PercentOfAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Percent of above applies the outcome of every step kind. |
PercentOfBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Percent of below applies the outcome of every step kind. |
PercentOfInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent of in range applies the outcome of every step kind. |
PercentOfOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent of outside range applies the outcome of every step kind. |
ShareOfSumWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Share of sum with above applies the outcome of every step kind. |
ShareOfSumWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Share of sum with below applies the outcome of every step kind. |
ShareOfSumWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Share of sum with in range applies the outcome of every step kind. |
ShareOfSumWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Share of sum with outside range applies the outcome of every step kind. |
ComplementAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Complement above applies the outcome of every step kind. |
ComplementBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Complement below applies the outcome of every step kind. |
ComplementInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Complement in range applies the outcome of every step kind. |
ComplementOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Complement outside range applies the outcome of every step kind. |
LogRatioOfAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Log ratio of above applies the outcome of every step kind. |
LogRatioOfBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Log ratio of below applies the outcome of every step kind. |
LogRatioOfInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Log ratio of in range applies the outcome of every step kind. |
LogRatioOfOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Log ratio of outside range applies the outcome of every step kind. |
RatioOfRatiosAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio of ratios above applies the outcome of every step kind. |
RatioOfRatiosBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio of ratios below applies the outcome of every step kind. |
RatioOfRatiosInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio of ratios in range applies the outcome of every step kind. |
RatioOfRatiosOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Ratio of ratios outside range applies the outcome of every step kind. |
InverseRatioOfAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Inverse ratio of above applies the outcome of every step kind. |
InverseRatioOfBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Inverse ratio of below applies the outcome of every step kind. |
InverseRatioOfInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Inverse ratio of in range applies the outcome of every step kind. |
InverseRatioOfOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Inverse ratio of outside range applies the outcome of every step kind. |
DifferenceFromAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Difference from above applies the outcome of every step kind. |
DifferenceFromBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Difference from below applies the outcome of every step kind. |
DifferenceFromInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Difference from in range applies the outcome of every step kind. |
DifferenceFromOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Difference from outside range applies the outcome of every step kind. |
AbsoluteDifferenceFromAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Absolute difference from above applies the outcome of every step kind. |
AbsoluteDifferenceFromBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Absolute difference from below applies the outcome of every step kind. |
AbsoluteDifferenceFromInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Absolute difference from in range applies the outcome of every step kind. |
AbsoluteDifferenceFromOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Absolute difference from outside range applies the outcome of every step kind. |
PercentDifferenceFromAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Percent difference from above applies the outcome of every step kind. |
PercentDifferenceFromBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Percent difference from below applies the outcome of every step kind. |
PercentDifferenceFromInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent difference from in range applies the outcome of every step kind. |
PercentDifferenceFromOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent difference from outside range applies the outcome of every step kind. |
RelativeChangeFromAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Relative change from above applies the outcome of every step kind. |
RelativeChangeFromBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Relative change from below applies the outcome of every step kind. |
RelativeChangeFromInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Relative change from in range applies the outcome of every step kind. |
RelativeChangeFromOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Relative change from outside range applies the outcome of every step kind. |
GrowthFactorFromAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Growth factor from above applies the outcome of every step kind. |
GrowthFactorFromBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Growth factor from below applies the outcome of every step kind. |
GrowthFactorFromInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Growth factor from in range applies the outcome of every step kind. |
GrowthFactorFromOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Growth factor from outside range applies the outcome of every step kind. |
SlopeFromAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Slope from above applies the outcome of every step kind. |
SlopeFromBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Slope from below applies the outcome of every step kind. |
SlopeFromInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Slope from in range applies the outcome of every step kind. |
SlopeFromOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Slope from outside range applies the outcome of every step kind. |
CompoundGrowthRateAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Compound growth rate above applies the outcome of every step kind. |
CompoundGrowthRateBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Compound growth rate below applies the outcome of every step kind. |
CompoundGrowthRateInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Compound growth rate in range applies the outcome of every step kind. |
CompoundGrowthRateOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Compound growth rate outside range applies the outcome of every step kind. |
PercentDeviationFromMeanAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Percent deviation from mean above applies the outcome of every step kind. |
PercentDeviationFromMeanBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Percent deviation from mean below applies the outcome of every step kind. |
PercentDeviationFromMeanInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent deviation from mean in range applies the outcome of every step kind. |
PercentDeviationFromMeanOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent deviation from mean outside range applies the outcome of every step kind. |
ModifiedZScoreAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Modified z score above applies the outcome of every step kind. |
ModifiedZScoreBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Modified z score below applies the outcome of every step kind. |
ModifiedZScoreInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Modified z score in range applies the outcome of every step kind. |
ModifiedZScoreOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Modified z score outside range applies the outcome of every step kind. |
CoefficientOfVariationAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Coefficient of variation above applies the outcome of every step kind. |
CoefficientOfVariationBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Coefficient of variation below applies the outcome of every step kind. |
CoefficientOfVariationInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Coefficient of variation in range applies the outcome of every step kind. |
CoefficientOfVariationOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Coefficient of variation outside range applies the outcome of every step kind. |
MinMaxNormaliseAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Min max normalise above applies the outcome of every step kind. |
MinMaxNormaliseBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Min max normalise below applies the outcome of every step kind. |
MinMaxNormaliseInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Min max normalise in range applies the outcome of every step kind. |
MinMaxNormaliseOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Min max normalise outside range applies the outcome of every step kind. |
PercentOfRangeAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Percent of range above applies the outcome of every step kind. |
PercentOfRangeBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Percent of range below applies the outcome of every step kind. |
PercentOfRangeInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent of range in range applies the outcome of every step kind. |
PercentOfRangeOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent of range outside range applies the outcome of every step kind. |
SumWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Sum with above applies the outcome of every step kind. |
SumWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Sum with below applies the outcome of every step kind. |
SumWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Sum with in range applies the outcome of every step kind. |
SumWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Sum with outside range applies the outcome of every step kind. |
MeanWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Mean with above applies the outcome of every step kind. |
MeanWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Mean with below applies the outcome of every step kind. |
MeanWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Mean with in range applies the outcome of every step kind. |
MeanWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Mean with outside range applies the outcome of every step kind. |
MaxWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Max with above applies the outcome of every step kind. |
MaxWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Max with below applies the outcome of every step kind. |
MaxWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Max with in range applies the outcome of every step kind. |
MaxWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Max with outside range applies the outcome of every step kind. |
MinWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Min with above applies the outcome of every step kind. |
MinWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Min with below applies the outcome of every step kind. |
MinWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Min with in range applies the outcome of every step kind. |
MinWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Min with outside range applies the outcome of every step kind. |
SpreadWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Spread with above applies the outcome of every step kind. |
SpreadWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Spread with below applies the outcome of every step kind. |
SpreadWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Spread with in range applies the outcome of every step kind. |
SpreadWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Spread with outside range applies the outcome of every step kind. |
WeightedMeanWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Weighted mean with above applies the outcome of every step kind. |
WeightedMeanWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Weighted mean with below applies the outcome of every step kind. |
WeightedMeanWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Weighted mean with in range applies the outcome of every step kind. |
WeightedMeanWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Weighted mean with outside range applies the outcome of every step kind. |
GeometricMeanWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Geometric mean with above applies the outcome of every step kind. |
GeometricMeanWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Geometric mean with below applies the outcome of every step kind. |
GeometricMeanWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Geometric mean with in range applies the outcome of every step kind. |
GeometricMeanWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Geometric mean with outside range applies the outcome of every step kind. |
HarmonicMeanWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Harmonic mean with above applies the outcome of every step kind. |
HarmonicMeanWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Harmonic mean with below applies the outcome of every step kind. |
HarmonicMeanWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Harmonic mean with in range applies the outcome of every step kind. |
HarmonicMeanWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Harmonic mean with outside range applies the outcome of every step kind. |
ShareOfMaxAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Share of max above applies the outcome of every step kind. |
ShareOfMaxBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Share of max below applies the outcome of every step kind. |
ShareOfMaxInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Share of max in range applies the outcome of every step kind. |
ShareOfMaxOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Share of max outside range applies the outcome of every step kind. |
HerfindahlWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Herfindahl with above applies the outcome of every step kind. |
HerfindahlWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Herfindahl with below applies the outcome of every step kind. |
HerfindahlWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Herfindahl with in range applies the outcome of every step kind. |
HerfindahlWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Herfindahl with outside range applies the outcome of every step kind. |
EntropyOfSharesWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Entropy of shares with above applies the outcome of every step kind. |
EntropyOfSharesWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Entropy of shares with below applies the outcome of every step kind. |
EntropyOfSharesWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Entropy of shares with in range applies the outcome of every step kind. |
EntropyOfSharesWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Entropy of shares with outside range applies the outcome of every step kind. |
HeadroomToAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Headroom to above applies the outcome of every step kind. |
HeadroomToBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Headroom to below applies the outcome of every step kind. |
HeadroomToInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Headroom to in range applies the outcome of every step kind. |
HeadroomToOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Headroom to outside range applies the outcome of every step kind. |
ExcessOverAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Excess over above applies the outcome of every step kind. |
ExcessOverBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Excess over below applies the outcome of every step kind. |
ExcessOverInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Excess over in range applies the outcome of every step kind. |
ExcessOverOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Excess over outside range applies the outcome of every step kind. |
ShortfallBelowAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Shortfall below above applies the outcome of every step kind. |
ShortfallBelowBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Shortfall below below applies the outcome of every step kind. |
ShortfallBelowInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Shortfall below in range applies the outcome of every step kind. |
ShortfallBelowOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Shortfall below outside range applies the outcome of every step kind. |
DistanceToThresholdAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Distance to threshold above applies the outcome of every step kind. |
DistanceToThresholdBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Distance to threshold below applies the outcome of every step kind. |
DistanceToThresholdInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Distance to threshold in range applies the outcome of every step kind. |
DistanceToThresholdOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Distance to threshold outside range applies the outcome of every step kind. |
PercentBelowThresholdAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Percent below threshold above applies the outcome of every step kind. |
PercentBelowThresholdBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Percent below threshold below applies the outcome of every step kind. |
PercentBelowThresholdInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent below threshold in range applies the outcome of every step kind. |
PercentBelowThresholdOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Percent below threshold outside range applies the outcome of every step kind. |
ImbalanceWithAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Imbalance with above applies the outcome of every step kind. |
ImbalanceWithBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Imbalance with below applies the outcome of every step kind. |
ImbalanceWithInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Imbalance with in range applies the outcome of every step kind. |
ImbalanceWithOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Imbalance with outside range applies the outcome of every step kind. |
RetentionAfterAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Retention after above applies the outcome of every step kind. |
RetentionAfterBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Retention after below applies the outcome of every step kind. |
RetentionAfterInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Retention after in range applies the outcome of every step kind. |
RetentionAfterOutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Retention after outside range applies the outcome of every step kind. |
FlowEntryOverloadTests
Jube.Test.Dictionary.Extensions.FlowEntryOverloadTests — 25 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
TheGuardFindsAWorthwhileNumberOfSteps |
Fact | The guard finds a worthwhile number of steps. |
EveryTypedFlowStepHasARawTypeOverloadWithTheSameShape |
Fact | Every typed flow step has a raw type overload with the same shape. |
EveryRawOverloadHasATypedFlowStepSoNoneIsOrphaned |
Fact | Every raw overload has a typed flow step so none is orphaned. |
TheRawAndFlowCountsAreEqual |
Fact | The raw and flow counts are equal. |
EveryRawOverloadReturnsAFlowOfItsOwnType |
Fact | Every raw overload returns a flow of its own type. |
NoRawOverloadNameCollidesWithAnInstanceOrStaticMemberOfItsReceiver |
Fact | No raw overload name collides with an instance or static member of its receiver. |
NoRawOverloadNameCollidesWithAPlainExtensionOfTheSameReceiverAndShape |
Fact | No raw overload name collides with a plain extension of the same receiver and shape. |
EveryTransformerWithoutACollisionHasARawEntryOverloadReturningAFlow |
Theory | Every transformer without a collision has a raw entry overload returning a flow. |
PlainArithmeticOnADoubleReturnsANumberAndOnAFlowReturnsAFlow |
Theory | Plain arithmetic on a double returns a number and on a flow returns a flow. |
TransformersThatCollideWithAPlainMethodResolveToItAndReturnAPlainValue |
Theory | Transformers that collide with a plain method resolve to it and return a plain value. |
DoubleRoundIsAStaticBclMemberWhichVbBindsBeforeAnExtension |
Fact | Double round is a static bcl member which vb binds before an extension. |
NoFlowMethodIsNamedAfterABareMemberOfStringSoTheRuleTokenAllowListStaysTight |
Fact | No flow method is named after a bare member of string so the rule token allow list stays tight. |
NoNewExtensionMethodNameCollidesWithAMemberOfAnyTypeARuleValueCanActuallyBe |
Fact | No new extension method name collides with a member of any type a rule value can actually be. |
EveryReviewedPreExistingCollisionIsStillActuallyPresent |
Fact | Every reviewed pre existing collision is still actually present. |
ScoreAndControlStepsAreDeliberatelyFlowOnly |
Fact | Score and control steps are deliberately flow only. |
DoubleStartIsIdempotentAndKeepsState |
Fact | Double start is idempotent and keeps state. |
StartOnADecidedFlowDoesNotUndecideIt |
Fact | Start on a decided flow does not undecide it. |
StartOfAFlowIsTheSameTypeNotANestedFlow |
Fact | Start of a flow is the same type not a nested flow. |
EachRawTypeStartsAPipelineWithoutStart |
Fact | Each raw type starts a pipeline without start. |
EachPrefixWorksOnARawValue |
Fact | Each prefix works on a raw value. |
ARawEntryAndAnExplicitStartGiveIdenticalResults |
Fact | A raw entry and an explicit start give identical results. |
AChainCanBeginWithATransformerOnARawValue |
Fact | A chain can begin with a transformer on a raw value. |
AgainstFollowsAnImplicitStart |
Fact | Against follows an implicit start. |
NullNaNAndBlankInputsFailClosedOnARawEntry |
Fact | Null na n and blank inputs fail closed on a raw entry. |
ARawEntryOnADecidedFlowIsNotPossibleSoAFlowReceiverUsesTheFlowStep |
Fact | A raw entry on a decided flow is not possible so a flow receiver uses the flow step. |
FlowFuzzyTests
Jube.Test.Dictionary.Extensions.FlowFuzzyTests — 10 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
FuzzyBestScoreBecomesTheNumericValueOfTheFlow |
Fact | Fuzzy best score becomes the numeric value of the flow. |
FuzzyBestScoreFeedsTheNumericSteps |
Fact | Fuzzy best score feeds the numeric steps. |
FuzzyMatchCountBecomesAnIntegerValue |
Fact | Fuzzy match count becomes an integer value. |
FuzzyBestMatchBecomesAStringValueThatCanBeTestedFurther |
Fact | Fuzzy best match becomes a string value that can be tested further. |
FuzzyBestMatchIsNullWhenNothingIsClose |
Fact | Fuzzy best match is null when nothing is close. |
ADecidedFlowSkipsTheExpensiveFuzzyTransformers |
Fact | A decided flow skips the expensive fuzzy transformers. |
TheScoreAndLabelSurviveAFuzzyTransformer |
Fact | The score and label survive a fuzzy transformer. |
AScreeningPipelineReadsLeftToRight |
Fact | A screening pipeline reads left to right. |
APipelineCanEscalateFromExactThroughToFuzzy |
Fact | A pipeline can escalate from exact through to fuzzy. |
AWatchlistHitCanBeRequiredBeforeAnotherFieldIsTested |
Fact | A watchlist hit can be required before another field is tested. |
FlowInt32Tests
Jube.Test.Dictionary.Extensions.FlowInt32Tests — 18 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
GreaterAppliesTheOutcomeOfEveryStepKind |
Theory | Greater applies the outcome of every step kind. |
GreaterOrEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Greater or equal applies the outcome of every step kind. |
LessAppliesTheOutcomeOfEveryStepKind |
Theory | Less applies the outcome of every step kind. |
LessOrEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Less or equal applies the outcome of every step kind. |
EqualAppliesTheOutcomeOfEveryStepKind |
Theory | Equal applies the outcome of every step kind. |
NotEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Not equal applies the outcome of every step kind. |
BetweenAppliesTheOutcomeOfEveryStepKind |
Theory | Between applies the outcome of every step kind. |
InRangeAppliesTheOutcomeOfEveryStepKind |
Theory | In range applies the outcome of every step kind. |
OutsideRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Outside range applies the outcome of every step kind. |
InAppliesTheOutcomeOfEveryStepKind |
Theory | In applies the outcome of every step kind. |
NotInAppliesTheOutcomeOfEveryStepKind |
Theory | Not in applies the outcome of every step kind. |
IsZeroAppliesTheOutcomeOfEveryStepKind |
Theory | Is zero applies the outcome of every step kind. |
IsPositiveAppliesTheOutcomeOfEveryStepKind |
Theory | Is positive applies the outcome of every step kind. |
IsNegativeAppliesTheOutcomeOfEveryStepKind |
Theory | Is negative applies the outcome of every step kind. |
IsEvenAppliesTheOutcomeOfEveryStepKind |
Theory | Is even applies the outcome of every step kind. |
IsOddAppliesTheOutcomeOfEveryStepKind |
Theory | Is odd applies the outcome of every step kind. |
IsMultipleOfAppliesTheOutcomeOfEveryStepKind |
Theory | Is multiple of applies the outcome of every step kind. |
IsPrimeAppliesTheOutcomeOfEveryStepKind |
Theory | Is prime applies the outcome of every step kind. |
FlowNewPredicatesTests
Jube.Test.Dictionary.Extensions.FlowNewPredicatesTests — 8 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
InsidePolygonAppliesEveryStepKind |
Theory | Inside polygon applies every step kind. |
WithinAnyRadiusKmAppliesEveryStepKind |
Fact | Within any radius km applies every step kind. |
IsDelimitedMemberAppliesEveryStepKind |
Fact | Is delimited member applies every step kind. |
IsInAnyCidrAppliesEveryStepKind |
Fact | Is in any cidr applies every step kind. |
IsCryptoWalletAddressAppliesEveryStepKind |
Fact | Is crypto wallet address applies every step kind. |
JsonTextArrayAnyInListAppliesEveryStepKind |
Fact | Json text array any in list applies every step kind. |
NumberInTextWithinPercentOfAppliesEveryStepKind |
Fact | Number in text within percent of applies every step kind. |
DayOfMonthInAppliesEveryStepKind |
Fact | Day of month in applies every step kind. |
FlowStringTests
Jube.Test.Dictionary.Extensions.FlowStringTests — 89 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
IsNullAppliesTheOutcomeOfEveryStepKind |
Theory | Is null applies the outcome of every step kind. |
IsEmptyAppliesTheOutcomeOfEveryStepKind |
Theory | Is empty applies the outcome of every step kind. |
IsNullOrEmptyAppliesTheOutcomeOfEveryStepKind |
Theory | Is null or empty applies the outcome of every step kind. |
IsNullOrWhiteSpaceAppliesTheOutcomeOfEveryStepKind |
Theory | Is null or white space applies the outcome of every step kind. |
IsNotNullOrEmptyAppliesTheOutcomeOfEveryStepKind |
Theory | Is not null or empty applies the outcome of every step kind. |
IsNotNullOrWhiteSpaceAppliesTheOutcomeOfEveryStepKind |
Theory | Is not null or white space applies the outcome of every step kind. |
EqualAppliesTheOutcomeOfEveryStepKind |
Theory | Equal applies the outcome of every step kind. |
EqualIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | Equal ignore case applies the outcome of every step kind. |
NotEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Not equal applies the outcome of every step kind. |
InAppliesTheOutcomeOfEveryStepKind |
Theory | In applies the outcome of every step kind. |
InIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | In ignore case applies the outcome of every step kind. |
NotInAppliesTheOutcomeOfEveryStepKind |
Theory | Not in applies the outcome of every step kind. |
InListAppliesTheOutcomeOfEveryStepKind |
Theory | In list applies the outcome of every step kind. |
InListIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | In list ignore case applies the outcome of every step kind. |
NotInListAppliesTheOutcomeOfEveryStepKind |
Theory | Not in list applies the outcome of every step kind. |
ContainsAppliesTheOutcomeOfEveryStepKind |
Theory | Contains applies the outcome of every step kind. |
ContainsIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | Contains ignore case applies the outcome of every step kind. |
ContainsAnyAppliesTheOutcomeOfEveryStepKind |
Theory | Contains any applies the outcome of every step kind. |
ContainsAnyIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | Contains any ignore case applies the outcome of every step kind. |
ContainsAllAppliesTheOutcomeOfEveryStepKind |
Theory | Contains all applies the outcome of every step kind. |
ContainsNoneAppliesTheOutcomeOfEveryStepKind |
Theory | Contains none applies the outcome of every step kind. |
ContainsAnyInListAppliesTheOutcomeOfEveryStepKind |
Theory | Contains any in list applies the outcome of every step kind. |
ContainsAnyInListIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | Contains any in list ignore case applies the outcome of every step kind. |
ContainsAllInListAppliesTheOutcomeOfEveryStepKind |
Theory | Contains all in list applies the outcome of every step kind. |
ContainsNoneInListAppliesTheOutcomeOfEveryStepKind |
Theory | Contains none in list applies the outcome of every step kind. |
StartsWithAppliesTheOutcomeOfEveryStepKind |
Theory | Starts with applies the outcome of every step kind. |
EndsWithAppliesTheOutcomeOfEveryStepKind |
Theory | Ends with applies the outcome of every step kind. |
StartsWithAnyInListAppliesTheOutcomeOfEveryStepKind |
Theory | Starts with any in list applies the outcome of every step kind. |
MatchesAppliesTheOutcomeOfEveryStepKind |
Theory | Matches applies the outcome of every step kind. |
LengthEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Length equal applies the outcome of every step kind. |
LengthGreaterAppliesTheOutcomeOfEveryStepKind |
Theory | Length greater applies the outcome of every step kind. |
LengthLessAppliesTheOutcomeOfEveryStepKind |
Theory | Length less applies the outcome of every step kind. |
LengthInRangeAppliesTheOutcomeOfEveryStepKind |
Theory | Length in range applies the outcome of every step kind. |
IsNumericAppliesTheOutcomeOfEveryStepKind |
Theory | Is numeric applies the outcome of every step kind. |
IsAlphaAppliesTheOutcomeOfEveryStepKind |
Theory | Is alpha applies the outcome of every step kind. |
IsAlphaNumericAppliesTheOutcomeOfEveryStepKind |
Theory | Is alpha numeric applies the outcome of every step kind. |
IsAllSameCharacterAppliesTheOutcomeOfEveryStepKind |
Theory | Is all same character applies the outcome of every step kind. |
HasSequentialDigitsAppliesTheOutcomeOfEveryStepKind |
Theory | Has sequential digits applies the outcome of every step kind. |
ShannonEntropyAboveAppliesTheOutcomeOfEveryStepKind |
Theory | Shannon entropy above applies the outcome of every step kind. |
ShannonEntropyBelowAppliesTheOutcomeOfEveryStepKind |
Theory | Shannon entropy below applies the outcome of every step kind. |
IsValidEmailAppliesTheOutcomeOfEveryStepKind |
Theory | Is valid email applies the outcome of every step kind. |
IsNotValidEmailAppliesTheOutcomeOfEveryStepKind |
Theory | Is not valid email applies the outcome of every step kind. |
IsValidIpAppliesTheOutcomeOfEveryStepKind |
Theory | Is valid ip applies the outcome of every step kind. |
IsNotValidIpAppliesTheOutcomeOfEveryStepKind |
Theory | Is not valid ip applies the outcome of every step kind. |
IsValidIbanAppliesTheOutcomeOfEveryStepKind |
Theory | Is valid iban applies the outcome of every step kind. |
IsNotValidIbanAppliesTheOutcomeOfEveryStepKind |
Theory | Is not valid iban applies the outcome of every step kind. |
IsValidBicAppliesTheOutcomeOfEveryStepKind |
Theory | Is valid bic applies the outcome of every step kind. |
IsNotValidBicAppliesTheOutcomeOfEveryStepKind |
Theory | Is not valid bic applies the outcome of every step kind. |
IsValidLuhnAppliesTheOutcomeOfEveryStepKind |
Theory | Is valid luhn applies the outcome of every step kind. |
IsNotValidLuhnAppliesTheOutcomeOfEveryStepKind |
Theory | Is not valid luhn applies the outcome of every step kind. |
IsValidCardExpiryAppliesTheOutcomeOfEveryStepKind |
Theory | Is valid card expiry applies the outcome of every step kind. |
IsNotValidCardExpiryAppliesTheOutcomeOfEveryStepKind |
Theory | Is not valid card expiry applies the outcome of every step kind. |
EmailDomainEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Email domain equal applies the outcome of every step kind. |
EmailDomainInAppliesTheOutcomeOfEveryStepKind |
Theory | Email domain in applies the outcome of every step kind. |
EmailDomainInListAppliesTheOutcomeOfEveryStepKind |
Theory | Email domain in list applies the outcome of every step kind. |
EmailAliasNormalisedEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Email alias normalised equal applies the outcome of every step kind. |
SoundexEqualAppliesTheOutcomeOfEveryStepKind |
Theory | Soundex equal applies the outcome of every step kind. |
JaroWinklerAtLeastAppliesTheOutcomeOfEveryStepKind |
Theory | Jaro winkler at least applies the outcome of every step kind. |
SimilarityAtLeastAppliesTheOutcomeOfEveryStepKind |
Theory | Similarity at least applies the outcome of every step kind. |
LevenshteinAtMostAppliesTheOutcomeOfEveryStepKind |
Theory | Levenshtein at most applies the outcome of every step kind. |
EndsWithAnyInListAppliesTheOutcomeOfEveryStepKind |
Theory | Ends with any in list applies the outcome of every step kind. |
ContainsAllIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | Contains all ignore case applies the outcome of every step kind. |
ContainsNoneIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | Contains none ignore case applies the outcome of every step kind. |
ContainsAllInListIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | Contains all in list ignore case applies the outcome of every step kind. |
ContainsNoneInListIgnoreCaseAppliesTheOutcomeOfEveryStepKind |
Theory | Contains none in list ignore case applies the outcome of every step kind. |
ContainsFuzzyAppliesTheOutcomeOfEveryStepKind |
Theory | Contains fuzzy applies the outcome of every step kind. |
ContainsFuzzyAnyAppliesTheOutcomeOfEveryStepKind |
Theory | Contains fuzzy any applies the outcome of every step kind. |
ContainsFuzzyAnyInListAppliesTheOutcomeOfEveryStepKind |
Theory | Contains fuzzy any in list applies the outcome of every step kind. |
LevenshteinAtMostAnyInListAppliesTheOutcomeOfEveryStepKind |
Theory | Levenshtein at most any in list applies the outcome of every step kind. |
SimilarityAtLeastAnyInListAppliesTheOutcomeOfEveryStepKind |
Theory | Similarity at least any in list applies the outcome of every step kind. |
JaroWinklerAtLeastAnyInListAppliesTheOutcomeOfEveryStepKind |
Theory | Jaro winkler at least any in list applies the outcome of every step kind. |
SomehowInListAppliesTheOutcomeOfEveryStepKind |
Theory | Somehow in list applies the outcome of every step kind. |
SomehowInListWithAppliesTheOutcomeOfEveryStepKind |
Theory | Somehow in list with applies the outcome of every step kind. |
SomehowLikeAppliesTheOutcomeOfEveryStepKind |
Theory | Somehow like applies the outcome of every step kind. |
SomehowLikeWithAppliesTheOutcomeOfEveryStepKind |
Theory | Somehow like with applies the outcome of every step kind. |
ContainsSomehowInListAppliesTheOutcomeOfEveryStepKind |
Theory | Contains somehow in list applies the outcome of every step kind. |
ContainsSomehowInListWithAppliesTheOutcomeOfEveryStepKind |
Theory | Contains somehow in list with applies the outcome of every step kind. |
NormalisedInListAppliesTheOutcomeOfEveryStepKind |
Theory | Normalised in list applies the outcome of every step kind. |
LevenshteinInListAppliesTheOutcomeOfEveryStepKind |
Theory | Levenshtein in list applies the outcome of every step kind. |
DamerauInListAppliesTheOutcomeOfEveryStepKind |
Theory | Damerau in list applies the outcome of every step kind. |
SimilarInListAppliesTheOutcomeOfEveryStepKind |
Theory | Similar in list applies the outcome of every step kind. |
JaroWinklerInListAppliesTheOutcomeOfEveryStepKind |
Theory | Jaro winkler in list applies the outcome of every step kind. |
DiceInListAppliesTheOutcomeOfEveryStepKind |
Theory | Dice in list applies the outcome of every step kind. |
SoundexInListAppliesTheOutcomeOfEveryStepKind |
Theory | Soundex in list applies the outcome of every step kind. |
TokenSortInListAppliesTheOutcomeOfEveryStepKind |
Theory | Token sort in list applies the outcome of every step kind. |
TokenSetInListAppliesTheOutcomeOfEveryStepKind |
Theory | Token set in list applies the outcome of every step kind. |
InitialsInListAppliesTheOutcomeOfEveryStepKind |
Theory | Initials in list applies the outcome of every step kind. |
FuzzyScoreAtLeastAppliesTheOutcomeOfEveryStepKind |
Theory | Fuzzy score at least applies the outcome of every step kind. |
FuzzyMatchCountAtLeastAppliesTheOutcomeOfEveryStepKind |
Theory | Fuzzy match count at least applies the outcome of every step kind. |
FlowTests
Jube.Test.Dictionary.Extensions.FlowTests — 57 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
StartBeginsUndecidedWithNoScoreOrLabel |
Fact | Start begins undecided with no score or label. |
StartWorksOnAnyType |
Fact | Start works on any type. |
ApplyTransitionsAnUndecidedFlowAccordingToTheKindAndTheTest |
Theory | Apply transitions an undecided flow according to the kind and the test. |
ADecidedFlowIsAbsorbingAndIgnoresEveryKindAndTest |
Theory | A decided flow is absorbing and ignores every kind and test. |
ADecidedFlowSkipsEveryTypedStepWithoutEvaluatingItsOutcome |
Theory | A decided flow skips every typed step without evaluating its outcome. |
OnlyAMatchedFlowConvertsToTrue |
Theory | Only a matched flow converts to true. |
ADecidedFlowStillConvertsFalseWhenReadAsAnIfCondition |
Fact | A decided flow still converts false when read as an if condition. |
TerminalStepsDecideAnUndecidedFlow |
Fact | Terminal steps decide an undecided flow. |
TerminalStepsDoNotOverwriteAnAlreadyDecidedFlow |
Fact | Terminal steps do not overwrite an already decided flow. |
OtherwiseStepsOnlyActWhileTheFlowIsStillUndecided |
Fact | Otherwise steps only act while the flow is still undecided. |
ResetReturnsAnyDecidedFlowToUndecidedAndClearsScoreAndLabel |
Fact | Reset returns any decided flow to undecided and clears score and label. |
ResetAllowsAnErroredFlowToBeDecidedAgain |
Fact | Reset allows an errored flow to be decided again. |
LabelIsCarriedThroughToTheDecision |
Fact | Label is carried through to the decision. |
AgainstSwitchesTheValueButKeepsOutcomeScoreAndLabel |
Fact | Against switches the value but keeps outcome score and label. |
AgainstOnADecidedFlowStaysDecidedSoLaterStepsAreSkipped |
Fact | Against on a decided flow stays decided so later steps are skipped. |
AChainDropsOutAtTheFirstDecisionAndIgnoresEverythingAfter |
Fact | A chain drops out at the first decision and ignores everything after. |
ARequireChainFollowedByOtherwiseMatchMatchesOnlyWhenEveryGuardPasses |
Fact | A require chain followed by otherwise match matches only when every guard passes. |
ARuleWithNoTerminalStepFailsClosed |
Fact | A rule with no terminal step fails closed. |
MatchWhenAppliesAnyBooleanExpression |
Theory | Match when applies any boolean expression. |
RejectWhenAppliesAnyBooleanExpression |
Theory | Reject when applies any boolean expression. |
BreakWhenAppliesAnyBooleanExpression |
Theory | Break when applies any boolean expression. |
RequireThatGuardsOnAnyBooleanExpression |
Theory | Require that guards on any boolean expression. |
EnsureThatGuardsOnAnyBooleanExpression |
Theory | Ensure that guards on any boolean expression. |
BooleanExpressionsInteroperateWithTheExistingExtensionLibrary |
Fact | Boolean expressions interoperate with the existing extension library. |
AddScoreAccumulatesWhileUndecided |
Fact | Add score accumulates while undecided. |
AddScoreIsIgnoredOnceDecided |
Fact | Add score is ignored once decided. |
AddScoreWhenOnlyAddsWhenTheConditionHolds |
Theory | Add score when only adds when the condition holds. |
AddScoreWhenIsIgnoredOnceDecided |
Fact | Add score when is ignored once decided. |
CapScoreLimitsTheAccumulatedScore |
Theory | Cap score limits the accumulated score. |
MatchIfScoreAtLeastDecidesFromTheAccumulatedScore |
Theory | Match if score at least decides from the accumulated score. |
RejectIfScoreBelowDecidesFromTheAccumulatedScore |
Theory | Reject if score below decides from the accumulated score. |
BreakIfScoreAtLeastDecidesFromTheAccumulatedScore |
Theory | Break if score at least decides from the accumulated score. |
RequireScoreAtLeastGuardsOnTheAccumulatedScore |
Theory | Require score at least guards on the accumulated score. |
ToScoreExposesTheScoreForNumericRuleReturnTypes |
Fact | To score exposes the score for numeric rule return types. |
StateProbesReflectTheOutcome |
Fact | State probes reflect the outcome. |
ParseDoubleReadsInvariantNumbers |
Theory | Parse double reads invariant numbers. |
ParseDoubleErrorsRatherThanThrowingOnBadInput |
Theory | Parse double errors rather than throwing on bad input. |
ParseDoubleIsCultureInvariant |
Fact | Parse double is culture invariant. |
AnErroredParseStopsEveryFollowingStep |
Fact | An errored parse stops every following step. |
AParseAfterADecisionStaysDecided |
Fact | A parse after a decision stays decided. |
ParseIntegerReadsWholeNumbers |
Theory | Parse integer reads whole numbers. |
ParseIntegerErrorsOnAnythingThatIsNotAnInt |
Theory | Parse integer errors on anything that is not an int. |
ParseDateReadsInvariantDates |
Fact | Parse date reads invariant dates. |
ParseDateErrorsOnAnythingThatIsNotADate |
Theory | Parse date errors on anything that is not a date. |
ParseBooleanReadsBooleans |
Theory | Parse boolean reads booleans. |
ParseBooleanErrorsOnAnythingElse |
Theory | Parse boolean errors on anything else. |
ParseThenTestReadsLeftToRight |
Fact | Parse then test reads left to right. |
NumericTransformersChangeTheValueAndKeepTheState |
Fact | Numeric transformers change the value and keep the state. |
DividedByZeroErrorsRatherThanProducingInfinity |
Fact | Divided by zero errors rather than producing infinity. |
DividedByOnADecidedFlowLeavesItUntouched |
Fact | Divided by on a decided flow leaves it untouched. |
TransformersOnADecidedFlowKeepItDecided |
Fact | Transformers on a decided flow keep it decided. |
StringTransformersAreNullSafeAndCultureInvariant |
Fact | String transformers are null safe and culture invariant. |
TransformerThenTestReadsLeftToRight |
Fact | Transformer then test reads left to right. |
DateTransformersProduceIntegers |
Fact | Date transformers produce integers. |
AFlowIsAValueTypeSoStepsNeverMutateAnEarlierFlow |
Fact | A flow is a value type so steps never mutate an earlier flow. |
TheFlowCanBeBranchedAndEachBranchIsIndependent |
Fact | The flow can be branched and each branch is independent. |
ApplyRejectsAnUnknownKind |
Fact | Apply rejects an unknown kind. |
FlowTimeRelativeTests
Jube.Test.Dictionary.Extensions.FlowTimeRelativeTests — 5 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
IsPastAppliesTheOutcomeOfEveryStepKind |
Theory | Is past applies the outcome of every step kind. |
IsFutureAppliesTheOutcomeOfEveryStepKind |
Theory | Is future applies the outcome of every step kind. |
IsTodayAppliesTheOutcomeOfEveryStepKind |
Theory | Is today applies the outcome of every step kind. |
OlderThanDaysAppliesTheOutcomeOfEveryStepKind |
Theory | Older than days applies the outcome of every step kind. |
YoungerThanDaysAppliesTheOutcomeOfEveryStepKind |
Theory | Younger than days applies the outcome of every step kind. |
FlowZoneTests
Jube.Test.Dictionary.Extensions.FlowZoneTests — 8 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
ToZoneConvertsAnUnspecifiedValueTreatedAsUtc |
Fact | To zone converts an unspecified value treated as utc. |
ToZoneConvertsAUtcValue |
Fact | To zone converts a utc value. |
ToZoneConvertsALocalValueViaItsUniversalTime |
Fact | To zone converts a local value via its universal time. |
ToZoneAppliesDaylightSavingForTheDateConcerned |
Fact | To zone applies daylight saving for the date concerned. |
ToZoneErrorsRatherThanThrowingOnAnUnknownZone |
Theory | To zone errors rather than throwing on an unknown zone. |
ToZoneOnADecidedFlowLeavesItUntouched |
Fact | To zone on a decided flow leaves it untouched. |
AZoneConversionThenAHourTestReadsLeftToRight |
Fact | A zone conversion then a hour test reads left to right. |
ZoneAwareStepsAgreeWithConvertingFirst |
Fact | Zone aware steps agree with converting first. |
GeometryAndCircularExtensionsTests
Jube.Test.Dictionary.Extensions.GeometryAndCircularExtensionsTests — 8 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
CircularDistanceFromIsTheShorterWayAroundTheScale |
Theory | Circular distance from is the shorter way around the scale. |
CircularDistanceFromIsNaNWhenUndefined |
Theory | Circular distance from is na n when undefined. |
IsInsidePolygonIsTrueForAPointInsideAndFalseOutside |
Fact | Is inside polygon is true for a point inside and false outside. |
IsInsidePolygonIsFalseForFewerThanThreeVertices |
Fact | Is inside polygon is false for fewer than three vertices. |
IsInsidePolygonIsFalseWhenAVertexDoesNotParse |
Fact | Is inside polygon is false when a vertex does not parse. |
IsInsidePolygonIsFalseForANullVertexList |
Fact | Is inside polygon is false for a null vertex list. |
IsWithinAnyRadiusKmMatchesAnyOfTheCentres |
Fact | Is within any radius km matches any of the centres. |
IsWithinAnyRadiusKmIgnoresUnparseableCentres |
Fact | Is within any radius km ignores unparseable centres. |
HashingEncodingAndTextExtensionsTests
Jube.Test.Dictionary.Extensions.HashingEncodingAndTextExtensionsTests — 13 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
DigestsMatchTheStandardTestVectors |
Fact | Digests match the standard test vectors. |
HmacsMatchTheStandardTestVectors |
Fact | Hmacs match the standard test vectors. |
HexAndBase64UrlRoundTrip |
Fact | Hex and base64 url round trip. |
UnicodeNormalisedAppliesTheRequestedForm |
Fact | Unicode normalised applies the requested form. |
RemoveControlCharactersKeepsLineBreaksAndTabs |
Fact | Remove control characters keeps line breaks and tabs. |
CountingHelpersCountWhatTheyName |
Fact | Counting helpers count what they name. |
ShapingHelpersProduceTheExpectedText |
Fact | Shaping helpers produce the expected text. |
TokenAtSupportsNegativeIndexes |
Theory | Token at supports negative indexes. |
TokenCountCountsEmptyTokens |
Fact | Token count counts empty tokens. |
RegexHelpersReplaceCaptureAndCount |
Fact | Regex helpers replace capture and count. |
UserSuppliedPatternsAreBoundedByATimeout |
Fact | User supplied patterns are bounded by a timeout. |
FuzzyScalarHelpersScoreNamePairs |
Fact | Fuzzy scalar helpers score name pairs. |
NormalisedForMatchingStripsTitlesSuffixesAndDiacritics |
Fact | Normalised for matching strips titles suffixes and diacritics. |
IdentifierExtensionsTests
Jube.Test.Dictionary.Extensions.IdentifierExtensionsTests — 17 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
IbanPartsAreExtractedFromAValidIban |
Fact | Iban parts are extracted from a valid iban. |
IbanPartsAreEmptyForAnInvalidIban |
Fact | Iban parts are empty for an invalid iban. |
BicPartsAreExtractedFromAValidBic |
Fact | Bic parts are extracted from a valid bic. |
LuhnCheckDigitCompletesThePayload |
Theory | Luhn check digit completes the payload. |
CardIssuerPrefixTakesTheLeadingDigits |
Fact | Card issuer prefix takes the leading digits. |
IsValidIsinChecksTheLuhnCheckDigit |
Theory | Is valid isin checks the luhn check digit. |
IsValidLeiChecksIso7064Mod97 |
Theory | Is valid lei checks iso7064 mod97. |
IsValidCusipChecksTheCheckDigit |
Theory | Is valid cusip checks the check digit. |
IsValidSedolChecksTheWeightedCheckDigit |
Theory | Is valid sedol checks the weighted check digit. |
IsValidAbaRoutingNumberChecksTheWeightedSum |
Theory | Is valid aba routing number checks the weighted sum. |
UuidHelpersParseAndReportTheVersion |
Fact | Uuid helpers parse and report the version. |
IsValidE164PhoneNumberRequiresTheCanonicalForm |
Theory | Is valid e 164 phone number requires the canonical form. |
PhoneNumberDigitsKeepsTheInternationalPrefix |
Theory | Phone number digits keeps the international prefix. |
IsValidDomainNameChecksLabels |
Theory | Is valid domain name checks labels. |
UrlAndDomainPartsAreExtracted |
Fact | Url and domain parts are extracted. |
QueryStringValueDecodesTheNamedParameter |
Fact | Query string value decodes the named parameter. |
IsValidCardExpiryAsOfComparesWithTheSuppliedDate |
Fact | Is valid card expiry as of compares with the supplied date. |
Int32ExtensionsTests
Jube.Test.Dictionary.Extensions.Int32ExtensionsTests — 49 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
AbsReturnsTheAbsoluteValue |
Theory | Abs returns the absolute value. |
AbsOfIntMinValueOverflowsJustLikeMathAbs |
Fact | Abs of int min value overflows just like math abs. |
BetweenIsExclusiveOfBothBoundaries |
Theory | Between is exclusive of both boundaries. |
BetweenWorksAcrossAWideValueRangeIncludingNearIntBoundaries |
Fact | Between works across a wide value range including near int boundaries. |
BigMulProducesTheFullLongProductOfTwoInts |
Theory | Big mul produces the full long product of two ints. |
BigMulHandlesAProductThatWouldOverflowA32BitInt |
Fact | Big mul handles a product that would overflow a 32 bit int. |
ConvertFromUtf32ProducesASingleCharStringForABmpCodePoint |
Fact | Convert from utf32 produces a single char string for a bmp code point. |
ConvertFromUtf32ProducesASurrogatePairStringForASupplementaryCodePoint |
Fact | Convert from utf32 produces a surrogate pair string for a supplementary code point. |
ConvertFromUtf32ThrowsForAnOutOfRangeCodePoint |
Fact | Convert from utf32 throws for an out of range code point. |
DaysConvertsToATimeSpanOfThatManyDays |
Fact | Days converts to a time span of that many days. |
HoursConvertsToATimeSpanOfThatManyHours |
Fact | Hours converts to a time span of that many hours. |
MinutesConvertsToATimeSpanOfThatManyMinutes |
Fact | Minutes converts to a time span of that many minutes. |
SecondsConvertsToATimeSpanOfThatManySeconds |
Fact | Seconds converts to a time span of that many seconds. |
MillisecondsConvertsToATimeSpanOfThatManyMilliseconds |
Fact | Milliseconds converts to a time span of that many milliseconds. |
WeeksConvertsToATimeSpanOfThatManyWeeksExpressedAsDaysTimesSeven |
Fact | Weeks converts to a time span of that many weeks expressed as days times seven. |
DaysInMonthMatchesTheBclImplementationIncludingLeapFebruary |
Theory | Days in month matches the bcl implementation including leap february. |
DivRemReturnsTheQuotientAndOutputsTheRemainder |
Theory | Div rem returns the quotient and outputs the remainder. |
DivRemThrowsForDivisionByZero |
Fact | Div rem throws for division by zero. |
FactorOfChecksWhetherThisValueIsAFactorOfTheArgument |
Theory | Factor of checks whether this value is a factor of the argument. |
FactorOfThrowsWhenThisValueIsZeroBecauseItDividesByZero |
Fact | Factor of throws when this value is zero because it divides by zero. |
FromArgbBuildsAColorFromA32BitArgbValue |
Fact | From argb builds a color from a 32 bit argb value. |
FromArgbWithExplicitRedGreenBlueOverridesTheColorComponents |
Fact | From argb with explicit red green blue overrides the color components. |
FromArgbWithABaseColorAppliesTheNewAlphaToThatColor |
Fact | From argb with a base color applies the new alpha to that color. |
FromArgbWithGreenAndBlueUsesFullyOpaqueAlpha |
Fact | From argb with green and blue uses fully opaque alpha. |
FromOleTranslatesAnOleColorValue |
Fact | From ole translates an ole color value. |
FromWin32TranslatesAWindowsColorValueTheSameWayAsFromOle |
Fact | From win32 translates a windows color value the same way as from ole. |
GetBytesReturnsAFourByteArrayMatchingBitConverter |
Fact | Get bytes returns a four byte array matching bit converter. |
HostToNetworkOrderThenNetworkToHostOrderRoundTrips |
Fact | Host to network order then network to host order round trips. |
HostToNetworkOrderMatchesIpAddressImplementation |
Fact | Host to network order matches ip address implementation. |
InChecksMembershipAgainstTheProvidedValues |
Theory | In checks membership against the provided values. |
NotInIsTheInverseOfIn |
Theory | Not in is the inverse of in. |
InRangeIsInclusiveOfBothBoundariesUnlikeBetween |
Theory | In range is inclusive of both boundaries unlike between. |
IsEvenIdentifiesEvenNumbersIncludingZeroAndNegatives |
Theory | Is even identifies even numbers including zero and negatives. |
IsOddIdentifiesOddNumbersIncludingNegativesViaCsharpsRemainderOperator |
Theory | Is odd identifies odd numbers including negatives via csharps remainder operator. |
IsEvenAndIsOddAreAlwaysExactOppositesForAnyInt |
Theory | Is even and is odd are always exact opposites for any int. |
IsLeapYearMatchesTheBclRulesIncludingTheCenturyException |
Theory | Is leap year matches the bcl rules including the century exception. |
IsMultipleOfChecksDivisibility |
Theory | Is multiple of checks divisibility. |
IsMultipleOfThrowsForAZeroFactor |
Fact | Is multiple of throws for a zero factor. |
IsPrimeIdentifiesPrimesForPositiveInputs |
Theory | Is prime identifies primes for positive inputs. |
IsPrimeReturnsFalseForZero |
Fact | Is prime returns false for zero. |
IsPrimeReturnsFalseForNegativeNumbers |
Theory | Is prime returns false for negative numbers. |
MaxReturnsTheLargerOfTwoValues |
Theory | Max returns the larger of two values. |
MinReturnsTheSmallerOfTwoValues |
Theory | Min returns the smaller of two values. |
SignReturnsMinusOneZeroOrOne |
Theory | Sign returns minus one zero or one. |
SqlSystemTypeToSqlDbTypeMapsKnownSystemTypeIdsToTheirSqlDbType |
Theory | Sql system type to sql db type maps known system type ids to their sql db type. |
SqlSystemTypeToSqlDbTypeThrowsAGenericExceptionForAnUnrecognisedTypeId |
Fact | Sql system type to sql db type throws a generic exception for an unrecognised type id. |
GreatestCommonDivisorComputesTheGcd |
Theory | Greatest common divisor computes the gcd. |
LeastCommonMultipleComputesTheLcm |
Theory | Least common multiple computes the lcm. |
DigitSumAddsTheAbsoluteDigits |
Theory | Digit sum adds the absolute digits. |
NetworkAndGeoExtensionsTests
Jube.Test.Dictionary.Extensions.NetworkAndGeoExtensionsTests — 10 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
AddressFamilyIsDetectedFromText |
Theory | Address family is detected from text. |
AddressesAreClassified |
Theory | Addresses are classified. |
IsLoopbackIpAddressRecognisesBothFamilies |
Fact | Is loopback ip address recognises both families. |
IsInCidrMatchesTheNetworkPrefix |
Theory | Is in cidr matches the network prefix. |
CidrRangeIsDescribed |
Fact | Cidr range is described. |
IPv4AddressesConvertToAndFromNumbers |
Fact | I pv4 addresses convert to and from numbers. |
NormaliseIpAddressProducesTheCanonicalText |
Fact | Normalise ip address produces the canonical text. |
InitialBearingDegreesPointsFromTheFirstToTheSecondPoint |
Fact | Initial bearing degrees points from the first to the second point. |
GeohashRoundTripsToTheCellCentre |
Fact | Geohash round trips to the cell centre. |
IsValidCoordinateChecksBothRanges |
Fact | Is valid coordinate checks both ranges. |
NumericAndReferenceExtensionsTests
Jube.Test.Dictionary.Extensions.NumericAndReferenceExtensionsTests — 19 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
RoundToNearestSnapsToTheIncrement |
Theory | Round to nearest snaps to the increment. |
RoundToNearestIsUndefinedForANonPositiveIncrement |
Fact | Round to nearest is undefined for a non positive increment. |
ProductWithMultipliesEveryValue |
Fact | Product with multiplies every value. |
NthRootReturnsTheRealRoot |
Theory | Nth root returns the real root. |
NthRootOfANegativeNumberWithAnEvenDegreeIsUndefined |
Fact | Nth root of a negative number with an even degree is undefined. |
ModuloTakesTheSignOfTheDivisor |
Theory | Modulo takes the sign of the divisor. |
PercentHelpersApplyAndReverseAPercentage |
Fact | Percent helpers apply and reverse a percentage. |
ConvertAtRateRejectsANonPositiveRate |
Fact | Convert at rate rejects a non positive rate. |
CurrencyMinorUnitExponentFollowsIso4217 |
Theory | Currency minor unit exponent follows iso4217. |
MinorUnitsConvertExactlyWithoutBinaryDrift |
Fact | Minor units convert exactly without binary drift. |
RoundToCurrencyUsesTheCurrencyExponent |
Fact | Round to currency uses the currency exponent. |
CurrencyAndCountryCodesValidateAgainstTheEmbeddedTables |
Fact | Currency and country codes validate against the embedded tables. |
CountryLookupsAcceptEitherAlpha2OrAlpha3 |
Theory | Country lookups accept either alpha2 or alpha3. |
RomanNumeralsRoundTrip |
Theory | Roman numerals round trip. |
FromRomanNumeralsRejectsNonCanonicalNumerals |
Theory | From roman numerals rejects non canonical numerals. |
RadixStringsRoundTrip |
Theory | Radix strings round trip. |
FromRadixStringRejectsADigitOutsideTheBase |
Fact | From radix string rejects a digit outside the base. |
ConvertUnitsConvertsWithinADimension |
Theory | Convert units converts within a dimension. |
ConvertUnitsIsUndefinedAcrossDimensions |
Fact | Convert units is undefined across dimensions. |
RuleLibraryPurityTests
Jube.Test.Dictionary.Extensions.RuleLibraryPurityTests — 3 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
PureCodeReachesNoFileNetworkProcessOrNativeInterop |
Theory | Pure code reaches no file network process or native interop. |
TheScanCoversTheRuleLibrary |
Fact | The scan covers the rule library. |
TheScannerWouldCatchAFileWrite |
Fact | The scanner would catch a file write. |
StringExtensionsPart1Tests
Jube.Test.Dictionary.Extensions.StringExtensionsPart1Tests — 78 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
Br2NlReplacesSelfClosingAndOpenBreakTagsWithCrlf |
Fact | Br2 nl replaces self closing and open break tags with crlf. |
Br2NlLeavesUnmatchedCasingUntouchedBecauseTheReplaceIsCaseSensitive |
Fact | Br2 nl leaves unmatched casing untouched because the replace is case sensitive. |
CardNetworkClassifiesByIinPrefixRanges |
Theory | Card network classifies by iin prefix ranges. |
CardNetworkIgnoresSpacesAndDashes |
Fact | Card network ignores spaces and dashes. |
CompareOrdinalTwoArgOverloadOrdersLexicallyByOrdinalValue |
Fact | Compare ordinal two arg overload orders lexically by ordinal value. |
CompareOrdinalFiveArgOverloadComparesOnlyTheSpecifiedSubstrings |
Fact | Compare ordinal five arg overload compares only the specified substrings. |
ConcatTwoArgJoinsTheStringsWithNoSeparator |
Fact | Concat two arg joins the strings with no separator. |
ConcatThreeArgJoinsAllThreeStrings |
Fact | Concat three arg joins all three strings. |
ConcatFourArgJoinsAllFourStrings |
Fact | Concat four arg joins all four strings. |
ConcatTreatsANullArgumentAsAnEmptyStringJustLikeStringConcat |
Fact | Concat treats a null argument as an empty string just like string concat. |
ConcatenateJoinsAnEnumerableOfStringsWithNoSeparator |
Fact | Concatenate joins an enumerable of strings with no separator. |
ConcatenateOfAnEmptySequenceProducesAnEmptyString |
Fact | Concatenate of an empty sequence produces an empty string. |
ConcatenateWithASelectorAppliesTheProjectionBeforeJoining |
Fact | Concatenate with a selector applies the projection before joining. |
ConcatWithAppendsEachVarargValueInOrder |
Fact | Concat with appends each vararg value in order. |
ConcatWithNoValuesReturnsTheOriginalStringUnchanged |
Fact | Concat with no values returns the original string unchanged. |
ContainsAllReturnsTrueOnlyWhenEveryValueIsPresent |
Fact | Contains all returns true only when every value is present. |
ContainsAllWithComparisonTypeRespectsCaseInsensitivity |
Fact | Contains all with comparison type respects case insensitivity. |
ContainsAnyReturnsTrueWhenAtLeastOneValueIsPresent |
Fact | Contains any returns true when at least one value is present. |
ContainsAnyWithComparisonTypeRespectsCaseInsensitivity |
Fact | Contains any with comparison type respects case insensitivity. |
TheSingleArgContainsExtensionIsShadowedByStringsOwnInstanceContainsMethod |
Fact | The single arg contains extension is shadowed by strings own instance contains method. |
TheContainsWithComparisonTypeOverloadIsAlsoShadowedByAnIdenticalBclInstanceOverload |
Fact | The contains with comparison type overload is also shadowed by an identical bcl instance overload. |
ConvertToUtf32CombinesTheSurrogatePairAtTheGivenIndexIntoItsCodePoint |
Fact | Convert to utf32 combines the surrogate pair at the given index into its code point. |
DecodeBase64RecoversTheOriginalAsciiText |
Fact | Decode base64 recovers the original ascii text. |
DecodeBase64ThrowsForMalformedBase64Input |
Fact | Decode base64 throws for malformed base64 input. |
EncodeBase64ThenDecodeBase64RoundTripsTheOriginalText |
Fact | Encode base64 then decode base64 round trips the original text. |
DeserializeJsonParsesAMatchingJsonObjectIntoThePocoType |
Fact | Deserialize json parses a matching json object into the poco type. |
DeserializeJsonReturnsDefaultRatherThanThrowingForMalformedJson |
Fact | Deserialize json returns default rather than throwing for malformed json. |
DeserializeJsonReturnsDefaultForNullEmptyOrWhitespaceInputWithoutAttemptingToParse |
Theory | Deserialize json returns default for null empty or whitespace input without attempting to parse. |
DeserializeJsonWithAnExplicitEncodingAlsoParsesCorrectly |
Fact | Deserialize json with an explicit encoding also parses correctly. |
DeserializeJsonWithANullEncodingFallsBackToUtf8 |
Fact | Deserialize json with a null encoding falls back to utf8. |
DigitCountCountsDigitCharacters |
Theory | Digit count counts digit characters. |
LetterCountCountsLetterCharacters |
Theory | Letter count counts letter characters. |
EmailDomainReturnsEverythingAfterTheAtSign |
Theory | Email domain returns everything after the at sign. |
EmailLocalPartReturnsEverythingBeforeTheAtSign |
Theory | Email local part returns everything before the at sign. |
EqualsIgnoreCaseComparesOrdinallyIgnoringCase |
Fact | Equals ignore case compares ordinally ignoring case. |
EscapeXmlEscapesAllFiveReservedXmlCharacters |
Fact | Escape xml escapes all five reserved xml characters. |
EscapeXmlOnPlainTextIsAnIdentityOperation |
Fact | Escape xml on plain text is an identity operation. |
ExtractKeepsOnlyCharactersMatchingThePredicate |
Fact | Extract keeps only characters matching the predicate. |
ExtractWithAPredicateThatMatchesNothingReturnsAnEmptyString |
Fact | Extract with a predicate that matches nothing returns an empty string. |
ExtractDecimalConcatenatesEveryDigitAndDotInTheStringRatherThanFindingOneNumber |
Fact | Extract decimal concatenates every digit and dot in the string rather than finding one number. |
ExtractDecimalThrowsWhenTheStringContainsNoDigits |
Fact | Extract decimal throws when the string contains no digits. |
ExtractDoubleHasTheSameWholeStringConcatenationBehaviourAsExtractDecimal |
Fact | Extract double has the same whole string concatenation behaviour as extract decimal. |
ExtractInt16ConcatenatesAllDigitsHonouringOnlyALeadingMinusBeforeTheFirstDigit |
Theory | Extract int16 concatenates all digits honouring only a leading minus before the first digit. |
ExtractInt16ThrowsForAnEmptyDigitAccumulation |
Fact | Extract int16 throws for an empty digit accumulation. |
ExtractInt32MergesMultipleSeparateNumbersInTheStringIntoOne |
Fact | Extract int32 merges multiple separate numbers in the string into one. |
ExtractInt64BehavesLikeExtractInt32ButForA64BitResult |
Fact | Extract int64 behaves like extract int32 but for a 64 bit result. |
ExtractLetterKeepsOnlyLetterCharacters |
Fact | Extract letter keeps only letter characters. |
ExtractManyDecimalFindsEachSeparateSignedDecimalNumberIndependently |
Fact | Extract many decimal finds each separate signed decimal number independently. |
ExtractManyDecimalOnAStringWithNoNumbersReturnsAnEmptyArray |
Fact | Extract many decimal on a string with no numbers returns an empty array. |
ExtractManyDoubleFindsEachSeparateSignedNumberIndependentlyUnlikeExtractDouble |
Fact | Extract many double finds each separate signed number independently unlike extract double. |
ExtractManyInt16FindsEachSeparateSignedIntegerIndependently |
Fact | Extract many int16 finds each separate signed integer independently. |
ExtractManyInt32FindsEachSeparateSignedIntegerIndependently |
Fact | Extract many int32 finds each separate signed integer independently. |
ExtractManyInt64FindsEachSeparateSignedIntegerIndependently |
Fact | Extract many int64 finds each separate signed integer independently. |
ExtractManyUInt16IgnoresTheMinusSignAndOnlyMatchesTheDigitsThemselves |
Fact | Extract many u int16 ignores the minus sign and only matches the digits themselves. |
ExtractManyUInt32IgnoresTheMinusSignJustLikeExtractManyUInt16 |
Fact | Extract many u int32 ignores the minus sign just like extract many u int16. |
ExtractManyUInt64FindsEachUnsignedNumberInTheString |
Fact | Extract many u int64 finds each unsigned number in the string. |
ExtractNumberKeepsOnlyCharactersThatCharIsNumberRecognises |
Fact | Extract number keeps only characters that char is number recognises. |
ExtractUInt16ConcatenatesAllDigitsWithNoNegativeSignSupportAtAll |
Fact | Extract u int16 concatenates all digits with no negative sign support at all. |
ExtractUInt32ConcatenatesAllDigitsAcrossTheWholeString |
Fact | Extract u int32 concatenates all digits across the whole string. |
ExtractUInt64ThrowsWhenNoDigitsArePresent |
Fact | Extract u int64 throws when no digits are present. |
FormatOneArgDelegatesToStringFormat |
Fact | Format one arg delegates to string format. |
FormatTwoArgDelegatesToStringFormat |
Fact | Format two arg delegates to string format. |
FormatThreeArgDelegatesToStringFormat |
Fact | Format three arg delegates to string format. |
FormatObjectArrayOverloadDelegatesToStringFormat |
Fact | Format object array overload delegates to string format. |
FormatThrowsAFormatExceptionForAnUnmatchedPlaceholder |
Fact | Format throws a format exception for an unmatched placeholder. |
FormatWithOneArgBehavesTheSameAsFormat |
Fact | Format with one arg behaves the same as format. |
FormatWithTwoArgBehavesTheSameAsFormat |
Fact | Format with two arg behaves the same as format. |
FormatWithThreeArgBehavesTheSameAsFormat |
Fact | Format with three arg behaves the same as format. |
FormatWithParamsArrayOverloadAcceptsAnyNumberOfValues |
Fact | Format with params array overload accepts any number of values. |
GetAfterReturnsEverythingFollowingTheFirstOccurrenceOfTheMarker |
Fact | Get after returns everything following the first occurrence of the marker. |
GetAfterReturnsEmptyStringWhenTheMarkerIsNotFound |
Fact | Get after returns empty string when the marker is not found. |
GetBeforeReturnsEverythingPrecedingTheFirstOccurrenceOfTheMarker |
Fact | Get before returns everything preceding the first occurrence of the marker. |
GetBeforeReturnsEmptyStringWhenTheMarkerIsNotFound |
Fact | Get before returns empty string when the marker is not found. |
GetBetweenReturnsTheTextBetweenTheFirstBeforeMarkerAndTheNextAfterMarker |
Fact | Get between returns the text between the first before marker and the next after marker. |
GetBetweenReturnsEmptyStringWhenTheBeforeMarkerIsAbsentButShortEnoughNotToOverrun |
Fact | Get between returns empty string when the before marker is absent but short enough not to overrun. |
GetBetweenReturnsEmptyStringWhenTheBeforeMarkerIsAbsentAndLongerThanTheRemainingStringLength |
Fact | Get between returns empty string when the before marker is absent and longer than the remaining string length. |
GetBetweenReturnsEmptyStringWhenTheAfterMarkerIsMissing |
Fact | Get between returns empty string when the after marker is missing. |
GetNumericValueReturnsTheDigitsValueOrMinusOneForNonDigitsAtTheGivenIndex |
Theory | Get numeric value returns the digits value or minus one for non digits at the given index. |
StringExtensionsPart2Tests
Jube.Test.Dictionary.Extensions.StringExtensionsPart2Tests — 53 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
GetUnicodeCategoryLooksAtTheCharacterAtTheGivenIndex |
Theory | Get unicode category looks at the character at the given index. |
HtmlAttributeEncodeEscapesQuotesButNotAllHtmlMetacharacters |
Fact | Html attribute encode escapes quotes but not all html metacharacters. |
HtmlEncodeEscapesAngleBracketsAndAmpersands |
Fact | Html encode escapes angle brackets and ampersands. |
HtmlDecodeReversesHtmlEncode |
Fact | Html decode reverses html encode. |
IfEmptyReturnsTheOriginalValueWhenItIsNotEmpty |
Fact | If empty returns the original value when it is not empty. |
IfEmptyReturnsTheDefaultWhenTheOriginalIsEmpty |
Fact | If empty returns the default when the original is empty. |
IfEmptyTreatsNullAsNotEmptyBecauseItOnlyChecksAgainstTheEmptyString |
Fact | If empty treats null as not empty because it only checks against the empty string. |
InChecksMembershipAgainstTheProvidedValues |
Theory | In checks membership against the provided values. |
InitialsOfReturnsTheUppercasedFirstLetterOfEachWord |
Theory | Initials of returns the uppercased first letter of each word. |
InternReturnsTheSameReferenceForEqualStringsOnceInterned |
Fact | Intern returns the same reference for equal strings once interned. |
IsAlphaAcceptsOnlyAsciiLettersAndTreatsEmptyAsTrue |
Theory | Is alpha accepts only ascii letters and treats empty as true. |
IsAlphaNumericAcceptsOnlyAsciiLettersAndDigitsAndTreatsEmptyAsTrue |
Theory | Is alpha numeric accepts only ascii letters and digits and treats empty as true. |
IsAnagramComparesCharacterMultisetsCaseSensitively |
Theory | Is anagram compares character multisets case sensitively. |
IsControlLooksAtTheCharacterAtTheGivenIndex |
Theory | Is control looks at the character at the given index. |
IsDigitLooksAtTheCharacterAtTheGivenIndex |
Theory | Is digit looks at the character at the given index. |
IsEmptyIsTrueOnlyForTheExactEmptyString |
Fact | Is empty is true only for the exact empty string. |
IsEmptyThrowsOnNullBecauseItUsesReferenceEqualityViaTheEqualityOperator |
Fact | Is empty throws on null because it uses reference equality via the equality operator. |
IsHighSurrogateLooksAtTheCharacterAtTheGivenIndex |
Fact | Is high surrogate looks at the character at the given index. |
IsInternedReturnsTheStringWhenInternedAndNullWhenNot |
Fact | Is interned returns the string when interned and null when not. |
IsLetterLooksAtTheCharacterAtTheGivenIndex |
Theory | Is letter looks at the character at the given index. |
IsLetterOrDigitLooksAtTheCharacterAtTheGivenIndex |
Theory | Is letter or digit looks at the character at the given index. |
IsLikeSupportsStarWildcardAndHashDigitPlaceholder |
Theory | Is like supports star wildcard and hash digit placeholder. |
IsLowerLooksAtTheCharacterAtTheGivenIndex |
Theory | Is lower looks at the character at the given index. |
IsLowSurrogateLooksAtTheCharacterAtTheGivenIndex |
Fact | Is low surrogate looks at the character at the given index. |
IsMatchDelegatesToRegexIsMatch |
Fact | Is match delegates to regex is match. |
IsMatchWithOptionsHonoursTheGivenRegexOptions |
Fact | Is match with options honours the given regex options. |
IsNotEmptyIsTheInverseOfIsEmpty |
Fact | Is not empty is the inverse of is empty. |
IsNotNullDistinguishesNullFromNonNull |
Fact | Is not null distinguishes null from non null. |
IsNotNullOrEmptyDelegatesToStringIsNullOrEmptyNegated |
Fact | Is not null or empty delegates to string is null or empty negated. |
IsNotNullOrWhiteSpaceDelegatesToStringIsNullOrWhiteSpaceNegated |
Fact | Is not null or white space delegates to string is null or white space negated. |
IsNullDistinguishesNullFromNonNull |
Fact | Is null distinguishes null from non null. |
IsNullOrEmptyDelegatesToTheBcl |
Fact | Is null or empty delegates to the bcl. |
IsNullOrWhiteSpaceDelegatesToTheBcl |
Fact | Is null or white space delegates to the bcl. |
IsNumberLooksAtTheCharacterAtTheGivenIndex |
Theory | Is number looks at the character at the given index. |
IsNumericOnlyAcceptsDigitsZeroToNineAndTreatsEmptyAsTrue |
Theory | Is numeric only accepts digits zero to nine and treats empty as true. |
IsPalindromeStripsNonAlphanumericsAndIsCaseInsensitive |
Theory | Is palindrome strips non alphanumerics and is case insensitive. |
IsPunctuationLooksAtTheCharacterAtTheGivenIndex |
Theory | Is punctuation looks at the character at the given index. |
IsSeparatorLooksAtTheCharacterAtTheGivenIndex |
Theory | Is separator looks at the character at the given index. |
IsSurrogateLooksAtTheCharacterAtTheGivenIndex |
Fact | Is surrogate looks at the character at the given index. |
IsSurrogatePairLooksAtTheCharacterPairStartingAtTheGivenIndex |
Fact | Is surrogate pair looks at the character pair starting at the given index. |
IsSymbolLooksAtTheCharacterAtTheGivenIndex |
Theory | Is symbol looks at the character at the given index. |
IsUpperLooksAtTheCharacterAtTheGivenIndex |
Theory | Is upper looks at the character at the given index. |
IsValidBicChecksTheEightOrElevenCharacterSwiftFormat |
Theory | Is valid bic checks the eight or eleven character swift format. |
IsValidCardExpiryAcceptsMmSlashYyOrMmSlashYyyyNotYetElapsed |
Theory | Is valid card expiry accepts mm slash yy or mm slash yyyy not yet elapsed. |
IsValidEmailAcceptsCommonFormsAndRejectsObviouslyMalformedInput |
Theory | Is valid email accepts common forms and rejects obviously malformed input. |
IsValidIpAcceptsWellFormedIpv4AndRejectsOutOfRangeOrNonIpv4Input |
Theory | Is valid ip accepts well formed ipv4 and rejects out of range or non ipv4 input. |
IsValidIpRejectsALeadingZeroAsTheEntireFirstOctetEvenThoughZeroIsAValidOctetValue |
Fact | Is valid ip rejects a leading zero as the entire first octet even though zero is a valid octet value. |
IsValidIpAcceptsThreeDigitLeadingZeroFormsBecauseItMatchesTextNotNumericValue |
Fact | Is valid ip accepts three digit leading zero forms because it matches text not numeric value. |
HasSequentialDigitsDetectsAscendingOrDescendingRunsOfAtLeastTheGivenLength |
Theory | Has sequential digits detects ascending or descending runs of at least the given length. |
HasSequentialDigitsTreatsAMinimumRunLengthBelowTwoAsTwo |
Fact | Has sequential digits treats a minimum run length below two as two. |
IsAllSameCharacterChecksEveryCharacterMatchesTheFirst |
Theory | Is all same character checks every character matches the first. |
IsValidLuhnValidatesTheChecksumDigit |
Theory | Is valid luhn validates the checksum digit. |
IsValidIbanValidatesTheMod97Checksum |
Theory | Is valid iban validates the mod97 checksum. |
StringExtensionsPart3Tests
Jube.Test.Dictionary.Extensions.StringExtensionsPart3Tests — 103 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
IsWhiteSpaceChecksTheCharacterAtTheGivenIndex |
Fact | Is white space checks the character at the given index. |
IsWhiteSpaceThrowsForAnOutOfRangeIndex |
Fact | Is white space throws for an out of range index. |
JavaScriptStringEncodeEscapesSpecialCharacters |
Fact | Java script string encode escapes special characters. |
JavaScriptStringEncodeWithDoubleQuotesWrapsTheResultInQuotes |
Fact | Java script string encode with double quotes wraps the result in quotes. |
JoinWithAStringArrayConcatenatesUsingTheSeparator |
Fact | Join with a string array concatenates using the separator. |
JoinWithAnObjectArrayConcatenatesTheirStringRepresentations |
Fact | Join with an object array concatenates their string representations. |
JoinWithAGenericEnumerableConcatenatesUsingTheSeparator |
Fact | Join with a generic enumerable concatenates using the separator. |
JoinWithAnEnumerableOfStringConcatenatesUsingTheSeparator |
Fact | Join with an enumerable of string concatenates using the separator. |
JoinWithAStartIndexAndCountOnlyJoinsTheSelectedRange |
Fact | Join with a start index and count only joins the selected range. |
JoinOnAnEmptyArrayReturnsAnEmptyString |
Fact | Join on an empty array returns an empty string. |
LeftReturnsTheRequestedNumberOfLeadingCharacters |
Fact | Left returns the requested number of leading characters. |
LeftWithZeroReturnsAnEmptyString |
Fact | Left with zero returns an empty string. |
LeftThrowsWhenTheRequestedLengthExceedsTheStringsLength |
Fact | Left throws when the requested length exceeds the strings length. |
LeftSafeClampsToTheStringsActualLengthInsteadOfThrowing |
Fact | Left safe clamps to the strings actual length instead of throwing. |
LeftSafeBehavesLikeLeftWhenTheLengthIsWithinBounds |
Fact | Left safe behaves like left when the length is within bounds. |
MatchWithoutOptionsFindsTheFirstOccurrence |
Fact | Match without options finds the first occurrence. |
MatchWithOptionsRespectsThoseOptions |
Fact | Match with options respects those options. |
MatchReturnsAnUnsuccessfulMatchWhenThereIsNoOccurrence |
Fact | Match returns an unsuccessful match when there is no occurrence. |
MatchesWithoutOptionsFindsEveryOccurrence |
Fact | Matches without options finds every occurrence. |
MatchesWithOptionsRespectsThoseOptions |
Fact | Matches with options respects those options. |
MatchesReturnsAnEmptyCollectionWhenThereAreNoOccurrences |
Fact | Matches returns an empty collection when there are no occurrences. |
Nl2BrConvertsWindowsAndUnixNewlinesToHtmlBreaks |
Fact | Nl2 br converts windows and unix newlines to html breaks. |
Nl2BrLeavesTextWithoutNewlinesUnchanged |
Fact | Nl2 br leaves text without newlines unchanged. |
NotInIsTheInverseOfMembership |
Theory | Not in is the inverse of membership. |
NullIfEmptyReturnsNullForNullOrEmptyAndTheOriginalValueOtherwise |
Fact | Null if empty returns null for null or empty and the original value otherwise. |
NullIfEmptyDoesNotTreatWhitespaceAsEmpty |
Fact | Null if empty does not treat whitespace as empty. |
ParseQueryStringParsesKeyValuePairs |
Fact | Parse query string parses key value pairs. |
ParseQueryStringWithAnExplicitEncodingStillParsesKeyValuePairs |
Fact | Parse query string with an explicit encoding still parses key value pairs. |
ParseQueryStringDecodesUrlEncodedValues |
Fact | Parse query string decodes url encoded values. |
RemoveDiacriticsStripsAccentsButKeepsTheBaseLetters |
Fact | Remove diacritics strips accents but keeps the base letters. |
RemoveDiacriticsLeavesPlainAsciiUnchanged |
Fact | Remove diacritics leaves plain ascii unchanged. |
RemoveLetterStripsAllLettersButKeepsEverythingElse |
Fact | Remove letter strips all letters but keeps everything else. |
RemoveNumberStripsAllDigitsButKeepsEverythingElse |
Fact | Remove number strips all digits but keeps everything else. |
RemoveWhereStripsCharactersMatchingTheGivenPredicate |
Fact | Remove where strips characters matching the given predicate. |
RemoveWhereWithAPredicateThatNeverMatchesLeavesTheStringUnchanged |
Fact | Remove where with a predicate that never matches leaves the string unchanged. |
RepeatWithASingleCharacterStringRepeatsItNTimes |
Fact | Repeat with a single character string repeats it n times. |
RepeatWithAMultiCharacterStringRepeatsTheWholeStringNTimes |
Fact | Repeat with a multi character string repeats the whole string n times. |
RepeatWithZeroProducesAnEmptyString |
Fact | Repeat with zero produces an empty string. |
ReplaceByEmptyRemovesEveryOccurrenceOfEachGivenValue |
Fact | Replace by empty removes every occurrence of each given value. |
ReplaceByEmptyWithNoValuesLeavesTheStringUnchanged |
Fact | Replace by empty with no values leaves the string unchanged. |
ReplaceWithStartIndexLengthAndValueSplicesInTheReplacement |
Fact | Replace with start index length and value splices in the replacement. |
ReplaceFirstReplacesOnlyTheFirstOccurrence |
Fact | Replace first replaces only the first occurrence. |
ReplaceFirstLeavesTheStringUnchangedWhenThereIsNoMatch |
Fact | Replace first leaves the string unchanged when there is no match. |
ReplaceFirstWithANumberReplacesExactlyThatManyLeadingOccurrences |
Theory | Replace first with a number replaces exactly that many leading occurrences. |
ReplaceLastReplacesOnlyTheLastOccurrence |
Fact | Replace last replaces only the last occurrence. |
ReplaceLastLeavesTheStringUnchangedWhenThereIsNoMatch |
Fact | Replace last leaves the string unchanged when there is no match. |
ReplaceLastWithANumberReplacesExactlyThatManyTrailingOccurrences |
Theory | Replace last with a number replaces exactly that many trailing occurrences. |
ReplaceWhenEqualsSwapsTheEntireStringWhenItExactlyMatches |
Fact | Replace when equals swaps the entire string when it exactly matches. |
ReplaceWhenEqualsLeavesTheStringUnchangedOnAPartialMatch |
Fact | Replace when equals leaves the string unchanged on a partial match. |
ReverseFlipsTheCharacterOrder |
Fact | Reverse flips the character order. |
ReverseOfAnEmptyOrSingleCharacterStringReturnsItUnchanged |
Fact | Reverse of an empty or single character string returns it unchanged. |
RightReturnsTheRequestedNumberOfTrailingCharacters |
Fact | Right returns the requested number of trailing characters. |
RightThrowsWhenTheRequestedLengthExceedsTheStringsLength |
Fact | Right throws when the requested length exceeds the strings length. |
RightSafeClampsToTheStringsActualLengthInsteadOfThrowing |
Fact | Right safe clamps to the strings actual length instead of throwing. |
RightSafeBehavesLikeRightWhenTheLengthIsWithinBounds |
Fact | Right safe behaves like right when the length is within bounds. |
SplitByAMultiCharacterSeparatorSplitsCorrectly |
Fact | Split by a multi character separator splits correctly. |
SplitWithRemoveEmptyEntriesOmitsEmptySegments |
Fact | Split with remove empty entries omits empty segments. |
SplitDefaultsToKeepingEmptySegments |
Fact | Split defaults to keeping empty segments. |
ToByteArrayEncodesUsingAscii |
Fact | To byte array encodes using ascii. |
ToByteArrayReplacesNonAsciiCharactersWithQuestionMarks |
Fact | To byte array replaces non ascii characters with question marks. |
ToEnumParsesAMatchingMemberName |
Fact | To enum parses a matching member name. |
ToEnumIsCaseSensitiveBecauseItCallsEnumParseWithoutIgnoreCase |
Fact | To enum is case sensitive because it calls enum parse without ignore case. |
ToEnumThrowsForAMemberNameThatDoesNotExist |
Fact | To enum throws for a member name that does not exist. |
ToTitleCaseWithoutAnExplicitCultureUsesEnUs |
Fact | To title case without an explicit culture uses en us. |
ToTitleCaseWithAnExplicitCultureUsesThatCulture |
Fact | To title case with an explicit culture uses that culture. |
ToTitleCaseDoesNotLowercaseAlreadyUppercaseWords |
Fact | To title case does not lowercase already uppercase words. |
ToValidDateTimeOrNullParsesAWellFormedDate |
Fact | To valid date time or null parses a well formed date. |
ToValidDateTimeOrNullReturnsNullForUnparsableText |
Fact | To valid date time or null returns null for unparsable text. |
ToValidDateTimeOrNullReturnsNullForAnEmptyString |
Fact | To valid date time or null returns null for an empty string. |
ToXDocumentParsesWellFormedXmlIntoAnXDocument |
Fact | To x document parses well formed xml into an x document. |
ToXDocumentThrowsForMalformedXml |
Fact | To x document throws for malformed xml. |
ToXmlDocumentParsesWellFormedXmlIntoAnXmlDocument |
Fact | To xml document parses well formed xml into an xml document. |
ToXmlDocumentThrowsForMalformedXml |
Fact | To xml document throws for malformed xml. |
TruncateLeavesShortStringsUnchanged |
Fact | Truncate leaves short strings unchanged. |
TruncateAppendsAnEllipsisWhenTheStringExceedsTheMaxLength |
Fact | Truncate appends an ellipsis when the string exceeds the max length. |
TruncateWithACustomSuffixUsesThatSuffixInstead |
Fact | Truncate with a custom suffix uses that suffix instead. |
TruncateOnANullStringReturnsNull |
Fact | Truncate on a null string returns null. |
TruncateThrowsWhenTheMaxLengthIsShorterThanTheSuffixItself |
Fact | Truncate throws when the max length is shorter than the suffix itself. |
UrlEncodeThenUrlDecodeRoundTripsSpecialCharacters |
Fact | Url encode then url decode round trips special characters. |
UrlEncodeConvertsSpacesToPlusSigns |
Fact | Url encode converts spaces to plus signs. |
UrlEncodeWithAnExplicitEncodingStillEncodesSpaces |
Fact | Url encode with an explicit encoding still encodes spaces. |
UrlDecodeWithAnExplicitEncodingDecodesBackToTheOriginalText |
Fact | Url decode with an explicit encoding decodes back to the original text. |
UrlEncodeToBytesThenUrlDecodeToBytesRoundTrips |
Fact | Url encode to bytes then url decode to bytes round trips. |
UrlEncodeToBytesWithAnExplicitEncodingProducesTheSameTextWhenDecoded |
Fact | Url encode to bytes with an explicit encoding produces the same text when decoded. |
UrlDecodeToBytesWithAnExplicitEncodingDecodesCorrectly |
Fact | Url decode to bytes with an explicit encoding decodes correctly. |
UrlPathEncodeEncodesSpacesAsPercentTwentyRatherThanAPlusSign |
Fact | Url path encode encodes spaces as percent twenty rather than a plus sign. |
LevenshteinDistanceComputesTheEditDistance |
Theory | Levenshtein distance computes the edit distance. |
SimilarityToOfIdenticalStringsIsOne |
Fact | Similarity to of identical strings is one. |
SimilarityToNormalisesTheEditDistanceByTheLongerStringLength |
Fact | Similarity to normalises the edit distance by the longer string length. |
JaroWinklerSimilarityOfIdenticalStringsIsOne |
Fact | Jaro winkler similarity of identical strings is one. |
JaroWinklerSimilarityOfAnEmptyAndNonEmptyStringIsZero |
Fact | Jaro winkler similarity of an empty and non empty string is zero. |
JaroWinklerSimilarityMatchesTheWellKnownMarthaMarhtaExample |
Fact | Jaro winkler similarity matches the well known martha marhta example. |
JaroWinklerSimilarityMatchesTheWellKnownDixonDicksonxExample |
Fact | Jaro winkler similarity matches the well known dixon dicksonx example. |
SoundexEncodesNamesToTheirPhoneticCode |
Theory | Soundex encodes names to their phonetic code. |
SoundexOfSimilarSoundingNamesIsTheSame |
Fact | Soundex of similar sounding names is the same. |
SoundexOfBlankOrLetterlessInputIsEmpty |
Theory | Soundex of blank or letterless input is empty. |
ShannonEntropyOfAllSameCharacterIsZero |
Fact | Shannon entropy of all same character is zero. |
ShannonEntropyOfTwoEquallyLikelyCharactersIsOneBit |
Fact | Shannon entropy of two equally likely characters is one bit. |
ShannonEntropyOfFourEquallyLikelyDistinctCharactersIsTwoBits |
Fact | Shannon entropy of four equally likely distinct characters is two bits. |
ShannonEntropyOfAnEmptyOrNullStringIsZero |
Fact | Shannon entropy of an empty or null string is zero. |
MaskExceptLastMasksEverythingButTheTrailingVisibleCount |
Theory | Mask except last masks everything but the trailing visible count. |
MaskExceptLastAcceptsACustomMaskCharacter |
Fact | Mask except last accepts a custom mask character. |
NormalizeEmailAliasStripsPlusTaggingAndLowercases |
Theory | Normalize email alias strips plus tagging and lowercases. |
StringFuzzyExtensionsTests
Jube.Test.Dictionary.Extensions.StringFuzzyExtensionsTests — 31 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
IsSomehowInListUsesTheDefaultProfile |
Theory | Is somehow in list uses the default profile. |
IsSomehowInListIsFalseForANullList |
Fact | Is somehow in list is false for a null list. |
IsSomehowInListAcceptsAnOptionsString |
Fact | Is somehow in list accepts an options string. |
AnInvalidOptionsStringFailsClosed |
Fact | An invalid options string fails closed. |
ANullOrBlankOptionsStringMeansTheDefaultProfile |
Fact | A null or blank options string means the default profile. |
IsSomehowLikeComparesToASingleValue |
Fact | Is somehow like compares to a single value. |
ContainsSomehowInListFindsEntriesInsideLongerText |
Fact | Contains somehow in list finds entries inside longer text. |
ContainsSomehowInListForcesWithinScopeWhateverTheOptionsSay |
Fact | Contains somehow in list forces within scope whatever the options say. |
FuzzyBestScoreIsTheHighestScoreAcrossTheList |
Fact | Fuzzy best score is the highest score across the list. |
FuzzyBestScoreCanBeComparedInARule |
Fact | Fuzzy best score can be compared in a rule. |
FuzzyMatchCountCountsEntriesThatPass |
Fact | Fuzzy match count counts entries that pass. |
FuzzyBestMatchReturnsTheOriginalEntryOrNull |
Fact | Fuzzy best match returns the original entry or null. |
IsValidFuzzyOptionsChecksAnOptionsStringWithoutRunningIt |
Theory | Is valid fuzzy options checks an options string without running it. |
FuzzyOptionsErrorExplainsWhatIsWrong |
Fact | Fuzzy options error explains what is wrong. |
IsNormalisedInListIsAnExactMatchAfterNormalisation |
Fact | Is normalised in list is an exact match after normalisation. |
IsLevenshteinInListHonoursTheEditBudget |
Fact | Is levenshtein in list honours the edit budget. |
AnOutOfRangeDistanceFailsClosed |
Fact | An out of range distance fails closed. |
IsDamerauInListTreatsATranspositionAsOneEdit |
Fact | Is damerau in list treats a transposition as one edit. |
IsSimilarInListUsesTheLevenshteinRatio |
Fact | Is similar in list uses the levenshtein ratio. |
IsJaroWinklerInListUsesThePrefixWeightedScore |
Fact | Is jaro winkler in list uses the prefix weighted score. |
IsDiceInListUsesBigramOverlap |
Fact | Is dice in list uses bigram overlap. |
IsSoundexInListMatchesNamesThatSoundAlike |
Fact | Is soundex in list matches names that sound alike. |
IsTokenSortInListIgnoresWordOrder |
Fact | Is token sort in list ignores word order. |
IsTokenSetInListToleratesMissingWords |
Fact | Is token set in list tolerates missing words. |
IsInitialsInListMatchesAbbreviatedFirstNames |
Fact | Is initials in list matches abbreviated first names. |
EveryNamedAlgorithmIsFalseForNullValuesAndNullLists |
Fact | Every named algorithm is false for null values and null lists. |
TheUserFacingExampleReadsNaturally |
Fact | The user facing example reads naturally. |
MiddleInitialsAndMissingMiddleNamesAreHandledByTheRightAlgorithm |
Fact | Middle initials and missing middle names are handled by the right algorithm. |
CompanyNamesMatchAcrossLegalSuffixes |
Fact | Company names match across legal suffixes. |
ATransliteratedNameMatchesAcrossDiacritics |
Fact | A transliterated name matches across diacritics. |
HyphenatedAndApostropheNamesMatchTheirPlainForms |
Fact | Hyphenated and apostrophe names match their plain forms. |
StringToIsoDateTimeTests
Jube.Test.Dictionary.Extensions.StringToIsoDateTimeTests — 2 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
IsoTextIsReadAsUniversalTime |
Theory | Iso text is read as universal time. |
TextThatIsNotADateThrows |
Theory | Text that is not a date throws. |
TextNetworkAndWalletExtensionsTests
Jube.Test.Dictionary.Extensions.TextNetworkAndWalletExtensionsTests — 11 tests. Category: Unit.
| Test | Kind | Verifies |
|---|---|---|
FoldedForMatchingReducesEvasionToTheUnderlyingWord |
Theory | Folded for matching reduces evasion to the underlying word. |
FoldedForMatchingOfNullIsEmpty |
Fact | Folded for matching of null is empty. |
TransliterateToLatinMapsCyrillicAndGreek |
Theory | Transliterate to latin maps cyrillic and greek. |
CanonicalPairKeyIsTheSameForBothDirections |
Fact | Canonical pair key is the same for both directions. |
DirectionSignReportsWhichSideSortsFirst |
Fact | Direction sign reports which side sorts first. |
NumberInTextWithinPercentOfChecksEveryNumberInTheText |
Theory | Number in text within percent of checks every number in the text. |
IsDelimitedMemberMatchesOneToken |
Theory | Is delimited member matches one token. |
IsInAnyCidrMatchesAnyOfTheRanges |
Fact | Is in any cidr matches any of the ranges. |
IsCryptoWalletAddressAcceptsOnlyWellFormedAddresses |
Theory | Is crypto wallet address accepts only well formed addresses. |
IsCryptoWalletAddressIsFalseForNull |
Fact | Is crypto wallet address is false for null. |
JsonTextArrayAnyInListMatchesAMemberOfTheArray |
Fact | Json text array any in list matches a member of the array. |
