contract tests