SusSourceSus

module Sus

Nested

Definitions

def self.base(description = nil, root: nil)

Create a new base test class with the given description.

Signature

parameter description String | Nil

Optional description for the test class.

parameter root String | Nil

Optional root path for the test identity.

returns Class

A new test class that extends class Sus::Base.

Implementation

def self.base(description = nil, root: nil)
	base = Class.new(Base)
	
	base.extend(Context)
	base.identity = Identity.new(root) if root
	base.description = description
	base.set_temporary_name("#{self}[#{description}]")
	
	return base
end

def self.Shared(name, &block)

Create a new shared test context.

Signature

parameter name String

The name of the shared context.

yields {...}

The block containing the shared test code.

returns Shared

A new Shared module.

Implementation

def self.Shared(name, &block)
	Shared.build(name, block)
end