1 | import { ContainerMatcher, EmptyMatcher, FunctionMatcher, Matcher, NumberMatcher, PropertyMatcher, StringMatcher } from "../matchers";
|
2 | import { FunctionSpy, PropertySpy } from "../spying";
|
3 | import { AnyFunction } from "../_interfaces";
|
4 | export interface IExpect {
|
5 | <T>(actualValue: Array<T>): ContainerMatcher<Array<T>, T>;
|
6 | <T extends AnyFunction>(actualValue: FunctionSpy | T): FunctionMatcher<T>;
|
7 | (actualValue: number): NumberMatcher;
|
8 | <T>(actualValue: PropertySpy<T>): PropertyMatcher<T>;
|
9 | (actualValue: object): EmptyMatcher<object>;
|
10 | (actualValue: string): StringMatcher;
|
11 | <T>(actualValue: T): Matcher<T>;
|
12 | fail(message: string): void;
|
13 | extend<ExpectedType, MatcherType extends Matcher<ExpectedType>>(type: new (...args: Array<any>) => ExpectedType, matcher: new (value: ExpectedType, testItem: any) => MatcherType): IExtendedExpect<ExpectedType, MatcherType> & this;
|
14 | }
|
15 | export declare type IExtendedExpect<ExpectType, MatcherType extends Matcher<ExpectType>> = <T extends ExpectType>(actualValue: T) => Matcher<T> & MatcherType;
|