 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AssertionMismatch ¶
type RawSpec ¶
type RawSpec struct {
	NumscriptPath    string
	SpecsPath        string
	NumscriptContent string
	SpecsFileContent []byte
}
    func ReadSpecsFiles ¶
type Specs ¶
type Specs struct {
	Schema       string                       `json:"$schema,omitempty"`
	FeatureFlags []string                     `json:"featureFlags,omitempty"`
	Balances     interpreter.Balances         `json:"balances,omitempty"`
	Vars         interpreter.VariablesMap     `json:"variables,omitempty"`
	Meta         interpreter.AccountsMetadata `json:"metadata,omitempty"`
	TestCases    []TestCase                   `json:"testCases,omitempty"`
}
    --- Specs:
type SpecsResult ¶
type SpecsResult struct {
	// Invariants: total==passing+failing
	Total   uint `json:"total"`
	Passing uint `json:"passing"`
	Failing uint `json:"failing"`
	Skipped uint `json:"skipped"`
	Cases   []TestCaseResult
}
    func Check ¶
func Check(program parser.Program, specs Specs) (SpecsResult, interpreter.InterpreterError)
type TestCase ¶
type TestCase struct {
	It string `json:"it"`
	// Preconditions
	Balances interpreter.Balances         `json:"balances,omitempty"`
	Vars     interpreter.VariablesMap     `json:"variables,omitempty"`
	Meta     interpreter.AccountsMetadata `json:"metadata,omitempty"`
	// Select tests
	Focus bool `json:"focus,omitempty"`
	Skip  bool `json:"skip,omitempty"`
	// Expectations
	ExpectMissingFunds   bool `json:"expect.error.missingFunds,omitempty"`
	ExpectNegativeAmount bool `json:"expect.error.negativeAmount,omitempty"`
	ExpectPostings           []interpreter.Posting        `json:"expect.postings,omitempty"`
	ExpectTxMeta             map[string]string            `json:"expect.txMetadata,omitempty"`
	ExpectAccountsMeta       interpreter.AccountsMetadata `json:"expect.metadata,omitempty"`
	ExpectEndBalances        interpreter.Balances         `json:"expect.endBalances,omitempty"`
	ExpectEndBalancesInclude interpreter.Balances         `json:"expect.endBalances.include,omitempty"`
	ExpectMovements          Movements                    `json:"expect.movements,omitempty"`
}
    type TestCaseResult ¶
type TestCaseResult struct {
	Skipped  bool                         `json:"skipped"`
	It       string                       `json:"it"`
	Pass     bool                         `json:"pass"`
	Balances interpreter.Balances         `json:"balances"`
	Vars     interpreter.VariablesMap     `json:"variables"`
	Meta     interpreter.AccountsMetadata `json:"metadata"`
	// Output:
	Postings []interpreter.Posting `json:"postings"`
	// Assertions
	FailedAssertions []AssertionMismatch[any] `json:"failedAssertions"`
}
    type TestResult ¶
type TestResult struct {
	Specs  Specs
	File   string
	Result TestCaseResult
}
     Click to show internal directories. 
   Click to hide internal directories.