jesstest

package
v0.24.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2024 License: BSD-3-Clause Imports: 20 Imported by: 0

Documentation

Overview

Package jesstest exercises implementations of jess.Query to ensure they produce good results. ( see for instance package jessdb_test, and package jess_test. )

Index

Constants

This section is empty.

Variables

View Source
var KnownVerbs = MockVerbs{
	"carrying": {
		Subject:  "actors",
		Object:   "things",
		Relation: "whereabouts",
		Implies:  sliceOf.String("not worn", "portable"),
		Reversed: false,
	},
	"carried by": {
		Subject:  "actors",
		Object:   "things",
		Relation: "whereabouts",
		Implies:  sliceOf.String("not worn", "portable"),
		Reversed: true,
	},
	"in": {
		Subject:   "containers",
		Alternate: "rooms",
		Object:    "things",
		Relation:  "whereabouts",
		Implies:   sliceOf.String("not worn"),
		Reversed:  true,
	},
	"on": {
		Subject:  "supporters",
		Object:   "things",
		Relation: "whereabouts",
		Implies:  sliceOf.String("not worn"),
		Reversed: true,
	},
	"suspicious of": {
		Subject:  "actors",
		Object:   "actors",
		Relation: "suspicion",
		Reversed: false,
	},
}

fix? maybe add "wearing" instead of carrying to test implications better?

View Source
var Phrases = []Phrase{

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},

	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
}

Functions

func Marshal

func Marshal(a any) (ret string, err error)

Types

type Mock

type Mock struct {
	weaver.PanicWeaves

	ProcessingList
	// contains filtered or unexported fields
}

implements Registrar to watch incoming calls. posted makes it more like a stub than a mock maybe? oh well.

func MakeMock

func MakeMock(q jess.Query, nouns map[string]string) Mock

func (*Mock) AddAspectTraits

func (m *Mock) AddAspectTraits(aspect string, traits []string) (err error)

func (*Mock) AddFact

func (m *Mock) AddFact(key string, partsAndValue ...string) (_ error)

mock assumes all facts valid and new

func (*Mock) AddGrammar

func (m *Mock) AddGrammar(name string, prog *grammar.Directive) (err error)

func (*Mock) AddKind

func (m *Mock) AddKind(kind, ancestor string) (_ error)

func (*Mock) AddKindFields

func (m *Mock) AddKindFields(kind string, fields []mdl.FieldInfo) (_ error)

func (*Mock) AddKindTrait

func (m *Mock) AddKindTrait(kind, trait string) (_ error)

func (*Mock) AddNounKind

func (m *Mock) AddNounKind(noun, kind string) (err error)

func (*Mock) AddNounName

func (m *Mock) AddNounName(noun, name string, r int) (_ error)

slightly limit the name spew; name generation gets tested elsewhere

func (*Mock) AddNounPair

func (m *Mock) AddNounPair(rel, lhs, rhs string) (_ error)

func (*Mock) AddNounPath

func (m *Mock) AddNounPath(name string, parts []string, v literal.LiteralValue) (err error)

func (*Mock) AddNounTrait

func (m *Mock) AddNounTrait(name, trait string) (_ error)

func (*Mock) AddNounValue

func (m *Mock) AddNounValue(name, prop string, v rt.Assignment) (err error)

func (*Mock) AddPlural

func (m *Mock) AddPlural(many, one string) (_ error)

func (*Mock) ExtendPattern

func (m *Mock) ExtendPattern(p mdl.Pattern) (_ error)

func (*Mock) Generate

func (m *Mock) Generate(str string, val rt.Assignment) (ret []string, err error)

func (*Mock) GenerateUniqueName

func (m *Mock) GenerateUniqueName(category string) string

type MockVerbs

type MockVerbs map[string]jess.VerbDesc

func (MockVerbs) GetVerbValue

func (vs MockVerbs) GetVerbValue(name, field string) (ret rt.Value, err error)

type Phrase

type Phrase struct {
	// contains filtered or unexported fields
}

func (*Phrase) Test

func (p *Phrase) Test() (string, rt.Assignment, bool)

returns empty if no result is expected (ie. a skip)

func (*Phrase) Verify

func (p *Phrase) Verify(haveRes []string, haveError error) (okay bool)

verify a standard set of phrases using some function that takes each of those phrases

type Process

type Process func(weaver.Weaves, rt.Runtime) error

type ProcessingList

type ProcessingList struct {
	// contains filtered or unexported fields
}

used internally to generate matched phrases in a good order.

func (*ProcessingList) Schedule

func (m *ProcessingList) Schedule(z weaver.Phase, p func(weaver.Weaves, rt.Runtime) error) (err error)

add to the post processing list.

func (*ProcessingList) UpdatePhase

func (m *ProcessingList) UpdatePhase(z weaver.Phase, w weaver.Weaves, run rt.Runtime) (ret int, err error)

run through the passed processing list one time return the number of callbacks which completed; return weaver.Missing if any failed to complete.

type VerbLookup

type VerbLookup interface {
	GetVerbValue(name, field string) (rt.Value, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL