contract test