Open-source agentic AI for transaction monitoring. Just ask Jooby.What's Jube? →

Other Services

Tests of the remaining service surface: agent helpers, extension methods and shared service infrastructure.

Agent

AdvancedAnalyticsTrainingMatrixTests

Jube.Test.Service.Agent.AdvancedAnalyticsTrainingMatrixTests — 13 tests. Category: Unit.

Test Kind Verifies
ThePredictorsArePackedInTheOrderTheCallerNamedThemAndNotTheTableOrder Fact The predictors are packed in the order the caller named them and not the table order.
TheLabelIsAlwaysTheLastColumnWhateverItsPositionInTheTable Fact The label is always the last column whatever its position in the table.
APredictorMayBeLeftOutAltogether Fact A predictor may be left out altogether.
ABlankPredictorBecomesAMissingValueRatherThanAZero Fact A blank predictor becomes a missing value rather than a zero.
ABooleanCountsAsOneOrNought Fact A boolean counts as one or nought.
ANumberHeldAsTextIsParsedRatherThanRefused Fact A number held as text is parsed rather than refused.
TextThatIsNotANumberIsRefusedRatherThanQuietlyEncoded Fact Text that is not a number is refused rather than quietly encoded.
ALabelThatIsNotBinaryIsRefused Fact A label that is not binary is refused.
AMissingLabelIsRefusedBecauseThereIsNothingToImputeAnOutcomeFrom Fact A missing label is refused because there is nothing to impute an outcome from.
AColumnTheTableDoesNotHoldIsReportedWithTheOnesItDoes Fact A column the table does not hold is reported with the ones it does.
TheSameColumnCannotBeBothAPredictorAndTheLabel Fact The same column cannot be both a predictor and the label.
APredictorNamedTwiceIsRefused Fact A predictor named twice is refused.
NamingNoPredictorAtAllIsRefused Fact Naming no predictor at all is refused.

AgentHierarchyDocumentTests

Jube.Test.Service.Agent.AgentHierarchyDocumentTests — 9 tests. Category: Unit.

Test Kind Verifies
TheDocumentIsPresentAndParsesIntoLeafAgentsThatAllHoldTools Fact The document is present and parses into leaf agents that all hold tools.
EveryCataloguedToolIsOwnedByAnAgent Fact Every catalogued tool is owned by an agent.
NoAgentOwnsAToolThatTheCatalogueDoesNotCarry Fact No agent owns a tool that the catalogue does not carry.
NoMutatingToolIsOwnedByMoreThanOneAgent Fact No mutating tool is owned by more than one agent.
OnlyReadsAreSharedBetweenAgents Fact Only reads are shared between agents.
NoAgentHoldsMoreThanFifteenTools Fact No agent holds more than fifteen tools.
EveryAgentSlugIsUniqueBecauseItIsTheAddress Fact Every agent slug is unique because it is the address.
EveryMutatingToolIsFlaggedForConfirmationAndNoReadIs Fact Every mutating tool is flagged for confirmation and no read is.
EveryToolCitesThePermissionSourceItWasReadFrom Fact Every tool cites the permission source it was read from.

FilterOperationCoverageTests

Jube.Test.Service.Agent.FilterOperationCoverageTests — 3 tests. Category: Unit.

Test Kind Verifies
EveryListingServiceExposesFilterFieldsFilterAndCountOverItsListDto Fact Every listing service exposes filter fields filter and count over its list dto.
EveryFilterOperationIsARepeatableReadNamedAfterTheListAreaAndCatalogued Fact Every filter operation is a repeatable read named after the list area and catalogued.
EveryListDtoOffersAtLeastTheIdToFilterOn Fact Every list dto offers at least the id to filter on.

HierarchyAgentDefinitionsTests

Jube.Test.Service.Agent.HierarchyAgentDefinitionsTests — 13 tests. Category: Unit.

Test Kind Verifies
TheHierarchyIsRegisteredAlongsideTheOriginalThreeAgents Fact The hierarchy is registered alongside the original three agents.
EveryCataloguedToolIsClaimedByAtLeastOneLeafAgent Fact Every catalogued tool is claimed by at least one leaf agent.
EveryMutatingToolIsClaimedByExactlyOneLeafAgent Fact Every mutating tool is claimed by exactly one leaf agent.
OnlyIdempotentNonDestructiveReadsAreSharedBetweenLeafAgents Fact Only idempotent non destructive reads are shared between leaf agents.
NoLeafAgentClaimsMoreThanFifteenTools Fact No leaf agent claims more than fifteen tools.
EveryLeafThatWritesAnObjectCanAlsoReadAndValidateIt Fact Every leaf that writes an object can also read and validate it.
EveryDelegateNamedByAnAgentExists Fact Every delegate named by an agent exists.
TheRootDelegatesOnlyToTheNineDomainsSoItsPromptDoesNotListEveryAgent Fact The root delegates only to the nine domains so its prompt does not list every agent.
EveryLeafIsReachableFromTheRootWithinTheDelegationDepthBudget Fact Every leaf is reachable from the root within the delegation depth budget.
NoParentExceedsTheFanOutBudget Fact No parent exceeds the fan out budget.
AnAgentHoldingAMutatingToolRequiresAPreservationSnapshot Fact An agent holding a mutating tool requires a preservation snapshot.
TheYokeCountReportsTheWholeBoundToolSurfaceNotJustTheGeneralistsOwnTools Fact The yoke count reports the whole bound tool surface not just the generalists own tools.
EveryLeafDeclaresThePermissionsItsOwnToolsRequire Fact Every leaf declares the permissions its own tools require.

PageAgentToolBinderBindTests

Jube.Test.Service.Agent.PageAgentToolBinderBindTests — 6 tests. Category: Service. Collection: Database.

Test Kind Verifies
ABoundToolTakesItsNameAndPermissionsFromTheCatalogue Fact A bound tool takes its name and permissions from the catalogue.
ABoundWriteToolRequiresASnapshotAndIsSkippedEntirelyWhenReadOnly Fact A bound write tool requires a snapshot and is skipped entirely when read only.
TheGeneratedSchemaCarriesTheParameterDescriptionsTheServiceDeclares Fact The generated schema carries the parameter descriptions the service declares.
InvokingABoundReadToolConstructsTheServiceAndReturnsItsResultAsync Fact Invoking a bound read tool constructs the service and returns its result.
InvokingABoundWriteToolReturnsItsResultWithoutWalkingTheAssociationGraphAsync Fact Invoking a bound write tool returns its result without walking the association graph.
InvokingABoundToolAsAUserWithoutThePermissionIsRefusedByTheServiceAsync Fact Invoking a bound tool as a user without the permission is refused by the service.

PageAgentToolBinderTests

Jube.Test.Service.Agent.PageAgentToolBinderTests — 6 tests. Category: Service.

Test Kind Verifies
AddBoundReadsPermissionsFromTheCatalogueNotAHandTypedCopy Fact Add bound reads permissions from the catalogue not a hand typed copy.
AddBoundMarksAReadToolAsNotRequiringASnapshot Fact Add bound marks a read tool as not requiring a snapshot.
AddBoundMarksAWriteToolAsRequiringASnapshot Fact Add bound marks a write tool as requiring a snapshot.
AddBoundThrowsForAToolNameNotInTheCatalogue Fact Add bound throws for a tool name not in the catalogue.
AddBoundSkipsAWriteToolEntirelyWhenReadOnly Fact Add bound skips a write tool entirely when read only.
AddBoundStillBindsAReadToolWhenReadOnly Fact Add bound still binds a read tool when read only.

ServiceBoundToolCoverageTests

Jube.Test.Service.Agent.ServiceBoundToolCoverageTests — 7 tests. Category: Service. Collection: Database.

Test Kind Verifies
NoMoreToolCallsRunAtOnceThanTheConfiguredCapAsync Fact No more tool calls run at once than the configured cap.
EveryLeafAgentBindsAtLeastOneToolWithTheDependenciesTheConversationServiceCanSupply Fact Every leaf agent binds at least one tool with the dependencies the conversation service can supply.
EveryCataloguedToolBindsRatherThanBeingSkippedForAnUnresolvableDependency Fact Every catalogued tool binds rather than being skipped for an unresolvable dependency.
TheOnlyUnbindableToolsAreTheSevenWhoseDependenciesAreNotYetSupplied Fact The only unbindable tools are the seven whose dependencies are not yet supplied.
AReadOnlyDeploymentBindsStrictlyFewerToolsAndKeepsEveryRead Fact A read only deployment binds strictly fewer tools and keeps every read.
ApprovalsRequiredBindsFromDynamicEnvironmentRatherThanADefaultAsync Fact Approvals required binds from dynamic environment rather than a default.
AMissingDynamicEnvironmentFailsTheToolCallInsteadOfWeakeningApprovalsRequiredAsync Fact A missing dynamic environment fails the tool call instead of weakening approvals required.

ServiceOperationIndexTests

Jube.Test.Service.Agent.ServiceOperationIndexTests — 4 tests. Category: Unit.

Test Kind Verifies
TheIndexBuildsWithoutADuplicateOperationName Fact The index builds without a duplicate operation name.
EveryCataloguedToolResolvesToADecoratedMethod Fact Every catalogued tool resolves to a decorated method.
EveryResolvedMethodAgreesWithTheCatalogueOnKind Fact Every resolved method agrees with the catalogue on kind.
EveryResolvedServiceExposesAFactoryTheBinderCanFind Fact Every resolved service exposes a factory the binder can find.

ServiceToolCatalogueTests

Jube.Test.Service.Agent.ServiceToolCatalogueTests — 4 tests. Category: Service.

Test Kind Verifies
EveryToolNameIsUniqueAcrossTheWholeCatalogue Fact Every tool name is unique across the whole catalogue.
EveryToolCarriesAtLeastOneRequiredPermissionUnlessItReadsCompiledKnowledge Fact Every tool carries at least one required permission unless it reads compiled knowledge.
EveryCompiledKnowledgeExemptionNamesAnOperationThatExistsAndIsARead Fact Every compiled knowledge exemption names an operation that exists and is a read.
EveryDescriptorsRequiredPermissionsMatchesItsServicesOwnField Fact Every descriptors required permissions matches its services own field.

ToolInventoryDocumentTests

Jube.Test.Service.Agent.ToolInventoryDocumentTests — 6 tests. Category: Unit.

Test Kind Verifies
TheInventoryIsPresentAndEveryEntryHasBothAnIndexRowAndASection Fact The inventory is present and every entry has both an index row and a section.
TheInventoryCoversExactlyTheCatalogue Fact The inventory covers exactly the catalogue.
NoOperationIsInventoriedTwice Fact No operation is inventoried twice.
EveryInventoryRowStatesTheKindTheCatalogueDeclares Fact Every inventory row states the kind the catalogue declares.
EveryInventoryRowStatesTheAccessTheCatalogueEnforces Fact Every inventory row states the access the catalogue enforces.
EveryInventoryRowNamesAnAgentTheHierarchyGivesTheOperationTo Fact Every inventory row names an agent the hierarchy gives the operation to.

ValidateOperationCoverageTests

Jube.Test.Service.Agent.ValidateOperationCoverageTests — 6 tests. Category: Unit.

Test Kind Verifies
EveryAuthoredEntityServiceExposesValidate Fact Every authored entity service exposes validate.
ValidateIsARepeatableReadNamedAfterTheCreateOperationsArea Fact Validate is a repeatable read named after the create operations area.
ValidateTakesTheSameDtoAsCreate Fact Validate takes the same dto as create.
EveryValidateOperationIsCataloguedOnceAsARead Fact Every validate operation is catalogued once as a read.
EveryVbNetRuleServiceExposesACataloguedParseRule Theory Every vb net rule service exposes a catalogued parse rule.
OnlyTheVbNetRuleServicesExposeParseRule Fact Only the vb net rule services expose parse rule.

Dependency

ModelEntityDeleteGuardTests

Jube.Test.Service.Dependency.ModelEntityDeleteGuardTests — 4 tests. Category: Service. Collection: Database.

Test Kind Verifies
AListUsedInRuleTextCannotBeDeletedAndTheRuleIsNamedAsync Fact A list used in rule text cannot be deleted and the rule is named.
AListNothingUsesIsDeletedAsBeforeAsync Fact A list nothing uses is deleted as before.
ADeletedDependentNoLongerBlocksAsync Fact A deleted dependent no longer blocks.
AFieldATtlCounterAggregatesOnCannotBeDeletedAsync Fact A field a ttl counter aggregates on cannot be deleted.

Extensions

CalendarFactsToolsTests

Jube.Test.Service.Extensions.CalendarFactsToolsTests — 5 tests. Category: Unit.

Test Kind Verifies
DescribeDateReportsCalendarFacts Fact Describe date reports calendar facts.
PeriodBoundariesSpanThePeriod Theory Period boundaries span the period.
PeriodBoundariesSupportSundayWeeks Fact Period boundaries support sunday weeks.
FiscalAndYearFacts Fact Fiscal and year facts.
BusinessHoursAndSameDay Fact Business hours and same day.

CurrencyAndCountryToolsTests

Jube.Test.Service.Extensions.CurrencyAndCountryToolsTests — 3 tests. Category: Unit.

Test Kind Verifies
CurrencyReferenceData Fact Currency reference data.
MoneyArithmeticUsesTheCurrencyPrecision Fact Money arithmetic uses the currency precision.
CountryReferenceData Fact Country reference data.

DateArithmeticToolsTests

Jube.Test.Service.Extensions.DateArithmeticToolsTests — 4 tests. Category: Unit.

Test Kind Verifies
AddToDateClampsMonthEnds Fact Add to date clamps month ends.
BusinessDays Fact Business days.
ElapsedTimeAndAge Fact Elapsed time and age.
IntervalsAndRanges Fact Intervals and ranges.

EncodingAndHashingToolsTests

Jube.Test.Service.Extensions.EncodingAndHashingToolsTests — 4 tests. Category: Unit.

Test Kind Verifies
EncodeAndDecodeRoundTrip Theory Encode and decode round trip.
OneWayAndMalformedEncodings Fact One way and malformed encodings.
DigestsAndChecksums Fact Digests and checksums.
DescribeUuidReportsVersion Fact Describe uuid reports version.

FinancialIdentifiersToolsTests

Jube.Test.Service.Extensions.FinancialIdentifiersToolsTests — 3 tests. Category: Unit.

Test Kind Verifies
BankIdentifiers Fact Bank identifiers.
CardIdentifiers Fact Card identifiers.
SecuritiesIdentifiers Fact Securities identifiers.

FunctionToolDecorationTests

Jube.Test.Service.Extensions.FunctionToolDecorationTests — 4 tests. Category: Unit.

Test Kind Verifies
EveryGroupLivesInItsOwnNamespaceAndSuitsOneAgent Fact Every group lives in its own namespace and suits one agent.
EveryToolAndParameterIsDescribedForTheModel Fact Every tool and parameter is described for the model.
ToolNamesAreGloballyUnique Fact Tool names are globally unique.
EveryToolHasATestThatDeclaresItCovers Fact Every tool has a test that declares it covers.

FunctionToolPurityTests

Jube.Test.Service.Extensions.FunctionToolPurityTests — 4 tests. Category: Unit.

Test Kind Verifies
PureCodeReachesNoFileNetworkProcessOrNativeInterop Theory Pure code reaches no file network process or native interop.
ExtensionFacadesNeverReadTheClockOrARandomSource Fact Extension facades never read the clock or a random source.
TheScanCoversEveryToolGroup Fact The scan covers every tool group.
TheScannerWouldCatchAFileWrite Fact The scanner would catch a file write.

GeospatialToolsTests

Jube.Test.Service.Extensions.GeospatialToolsTests — 2 tests. Category: Unit.

Test Kind Verifies
DistancesAndSpeed Fact Distances and speed.
BearingsAndGeohashes Fact Bearings and geohashes.

ListScreeningToolsTests

Jube.Test.Service.Extensions.ListScreeningToolsTests — 3 tests. Category: Unit.

Test Kind Verifies
ScreenAgainstListReportsTheBestMatch Fact Screen against list reports the best match.
MembershipChecks Fact Membership checks.
InitialsPhoneticsAndOptions Fact Initials phonetics and options.

NameSimilarityToolsTests

Jube.Test.Service.Extensions.NameSimilarityToolsTests — 4 tests. Category: Unit.

Test Kind Verifies
CompareNamesScoresEveryAlgorithm Fact Compare names scores every algorithm.
EditDistances Fact Edit distances.
PhoneticAndNormalisation Fact Phonetic and normalisation.
NamesMatchWithOptionsUsesTheRuleLanguage Fact Names match with options uses the rule language.

OnlineIdentifiersToolsTests

Jube.Test.Service.Extensions.OnlineIdentifiersToolsTests — 3 tests. Category: Unit.

Test Kind Verifies
EmailAddresses Fact Email addresses.
PhonesUrlsAndDomains Fact Phones urls and domains.
IpAddresses Fact Ip addresses.

PatternMatchingToolsTests

Jube.Test.Service.Extensions.PatternMatchingToolsTests — 3 tests. Category: Unit.

Test Kind Verifies
RegexTools Fact Regex tools.
RegexToolsExplainBadAndSlowPatterns Fact Regex tools explain bad and slow patterns.
EscapingAndWildcards Fact Escaping and wildcards.

PercentagesAndChangesToolsTests

Jube.Test.Service.Extensions.PercentagesAndChangesToolsTests — 3 tests. Category: Unit.

Test Kind Verifies
PercentagesAreComputedExactly Fact Percentages are computed exactly.
RatiosAndGrowthRates Fact Ratios and growth rates.
PercentageAdjustments Fact Percentage adjustments.

RoundingAndPowersToolsTests

Jube.Test.Service.Extensions.RoundingAndPowersToolsTests — 5 tests. Category: Unit.

Test Kind Verifies
RoundNumberHonoursTheMidpointRule Fact Round number honours the midpoint rule.
RoundToNearestIncrementRefusesABadIncrement Fact Round to nearest increment refuses a bad increment.
WholeNumberRoundingFollowsItsDirection Fact Whole number rounding follows its direction.
ClampNumberLimitsToTheRange Fact Clamp number limits to the range.
PowersRootsAndLogarithmsAreExact Fact Powers roots and logarithms are exact.

StructuredDataToolsTests

Jube.Test.Service.Extensions.StructuredDataToolsTests — 2 tests. Category: Unit.

Test Kind Verifies
JsonPaths Fact Json paths.
XmlPaths Fact Xml paths.

TextCleaningToolsTests

Jube.Test.Service.Extensions.TextCleaningToolsTests — 2 tests. Category: Unit.

Test Kind Verifies
Normalisation Fact Normalisation.
Filters Fact Filters.

TextEditingToolsTests

Jube.Test.Service.Extensions.TextEditingToolsTests — 3 tests. Category: Unit.

Test Kind Verifies
CaseReverseRepeat Fact Case reverse repeat.
Slicing Fact Slicing.
Replacement Fact Replacement.

TextExtractionToolsTests

Jube.Test.Service.Extensions.TextExtractionToolsTests — 4 tests. Category: Unit.

Test Kind Verifies
Markers Fact Markers.
Tokens Fact Tokens.
NumbersAndQueries Fact Numbers and queries.
ExtractNumbersIgnoresTheServerCulture Fact Extract numbers ignores the server culture.

TextInspectionToolsTests

Jube.Test.Service.Extensions.TextInspectionToolsTests — 4 tests. Category: Unit.

Test Kind Verifies
DescribeTextMeasuresEverything Fact Describe text measures everything.
CountsAndRuns Fact Counts and runs.
Comparisons Fact Comparisons.
Containment Fact Containment.

ThresholdsAndLimitsToolsTests

Jube.Test.Service.Extensions.ThresholdsAndLimitsToolsTests — 3 tests. Category: Unit.

Test Kind Verifies
NearThresholdMeasures Fact Near threshold measures.
LimitMeasures Fact Limit measures.
AmountShapeMeasures Fact Amount shape measures.

TimeZonesAndFormatsToolsTests

Jube.Test.Service.Extensions.TimeZonesAndFormatsToolsTests — 4 tests. Category: Unit.

Test Kind Verifies
ConversionsAllowForDaylightSaving Fact Conversions allow for daylight saving.
ZoneDescriptions Fact Zone descriptions.
EpochRoundTrip Fact Epoch round trip.
FormattingAndParsing Fact Formatting and parsing.

UnitsAndNumeralsToolsTests

Jube.Test.Service.Extensions.UnitsAndNumeralsToolsTests — 4 tests. Category: Unit.

Test Kind Verifies
ConvertUnitsWithinAndAcrossDimensions Fact Convert units within and across dimensions.
RomanNumerals Fact Roman numerals.
BaseConversion Fact Base conversion.
WholeNumberFacts Fact Whole number facts.

Helpers

ClockAndIdentifiersToolsTests

Jube.Test.Service.Helpers.ClockAndIdentifiersToolsTests — 3 tests. Category: Unit.

Test Kind Verifies
ClockToolsReadTheInjectedClock Fact Clock tools read the injected clock.
ListTimeZoneIdsFilters Fact List time zone ids filters.
UuidTools Fact Uuid tools.

TextListsToolsTests

Jube.Test.Service.Helpers.TextListsToolsTests — 2 tests. Category: Unit.

Test Kind Verifies
DistinctAndJoin Fact Distinct and join.
SetOperations Fact Set operations.