/// import { FlatCoord, Coord, Path, MultiPath, CoordPath, IBounds, BoundsLike, NativeBounds } from '@bespunky/angular-google-maps/core'; import { MockBounds } from '../mocks/mock-bounds'; export declare type FlexibleDummy = { typeName: string; value: T; }; export declare type FlexibleDummies = FlexibleDummy[]; /** * The following are the geometry types supported by the library. * They have been assigned with dummy values for testing. */ /** Dummy coord for testing. See `produceCoordSpecs()`. */ export declare const flatCoord: FlatCoord; /** Dummy coord for testing. See `produceCoordSpecs()`. */ export declare const literalCoord: google.maps.LatLngLiteral; /** Dummy coord for testing. See `produceCoordSpecs()`. */ export declare const latLngCoord: google.maps.LatLng; /** All dummy coords for testing combined into an array. */ export declare const allDummyCoords: Coord[]; /** Dummy single-path for testing. See `produceSinglePathSpecs()`. For bounds: [0] is defined as south-west, [length-1] is defined as north-east. */ export declare const flatPath: FlatCoord[]; /** Dummy single-path for testing. See `produceSinglePathSpecs()`. For bounds: [0] is defined as south-west, [length-1] is defined as north-east. */ export declare const literalPath: google.maps.LatLngLiteral[]; /** Dummy single-path for testing. See `produceSinglePathSpecs()`. For bounds: [0] is defined as south-west, [length-1] is defined as north-east. */ export declare const latLngPath: google.maps.LatLng[]; /** Dummy single-path for testing. See `produceSinglePathSpecs()`. For bounds: [0] is defined as south-west, [length-1] is defined as north-east. */ export declare const mvcPath: google.maps.MVCArray; /** Dummy single-path for testing. See `produceSinglePathSpecs()`. For bounds: [0] is defined as south-west, [length-1] is defined as north-east. */ export declare const linearRingPath: google.maps.Data.LinearRing; /** All dummy single paths for testing combined into an array. */ export declare const allDummySinglePaths: (google.maps.LatLng[] | google.maps.LatLngLiteral[] | google.maps.Data.LinearRing | FlatCoord[] | google.maps.MVCArray)[]; /** Dummy multi-path for testing. See `produceMultiPathSpecs()`. */ export declare const flatMultiPath: FlatCoord[][]; /** Dummy multi-path for testing. See `produceMultiPathSpecs()`. */ export declare const literalMultiPath: google.maps.LatLngLiteral[][]; /** Dummy multi-path for testing. See `produceMultiPathSpecs()`. */ export declare const latLngMultiPath: google.maps.LatLng[][]; /** Dummy multi-path for testing. See `produceMultiPathSpecs()`. */ export declare const linearRingMultiPath: google.maps.Data.LinearRing[]; /** Dummy multi-path for testing. See `produceMultiPathSpecs()`. */ export declare const mvcMultiPath: google.maps.MVCArray>; /** Dummy multi-path for testing. See `produceMultiPathSpecs()`. */ export declare const mvcMultiLinearRingPath: google.maps.MVCArray; /** All dummy single paths for testing combined into an array. */ export declare const allDummyMultiPaths: (google.maps.LatLng[][] | google.maps.LatLngLiteral[][] | google.maps.Data.LinearRing[] | FlatCoord[][] | google.maps.MVCArray> | google.maps.MVCArray)[]; /** Dummy bounds for testing. See `produceNativeBoundsSpecs()` and `produceIBoundsSpecs()`. */ export declare const latLngBounds: google.maps.LatLngBounds; /** Dummy bounds for testing. See `produceNativeBoundsSpecs()` and `produceIBoundsSpecs()`. */ export declare const literalBounds: google.maps.LatLngBoundsLiteral; /** Dummy bounds for testing. See `produceNativeBoundsSpecs()` and `produceIBoundsSpecs()`. */ export declare const iBounds: MockBounds; /** The south-west coord of the dummy testing paths. */ export declare const southWest: FlatCoord; /** The north-east coord of the dummy testing paths. */ export declare const northEast: FlatCoord; /** All dummy bounds for testing combined into an array. */ export declare const allDummyBounds: (google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral | MockBounds)[]; /** Dummy geometry feature for testing. See `produceDataGeometrySpecs()`. */ export declare const dataPoint: google.maps.Data.Point; /** Dummy geometry feature for testing. See `produceDataGeometrySpecs()`. */ export declare const dataPolygon: google.maps.Data.Polygon; /** All dummy geometry features for testing combined into an array. */ export declare const allDummyDataGeometries: (google.maps.Data.Point | google.maps.Data.Polygon)[]; /** All supported BoundsLike dummy values for testing combined into an array. */ export declare const allBoundsLike: FlexibleDummies; /** * Produces a spec for each supported coord type and runs the test against the coord. * * @export * @param {string} expectation Format is `should for a `. * @param {(value: Coord) => void} test The test to perform on the coord. */ export declare function produceCoordSpecs(expectation: string, test: (coord: Coord) => void): void; /** * Produces a spec for each supported single path type and runs the test against the path. * * @export * @param {string} expectation Format is `should for a `. * @param {(value: Path) => void} test The test to perform on the path. */ export declare function produceSinglePathSpecs(expectation: string, test: (path: Path) => void): void; /** * Produces a spec for each supported multi path type and runs the test against the path. * * @export * @param {string} expectation Format is `should for a `. * @param {(value: MultiPath) => void} test The test to perform on the path. */ export declare function produceMultiPathSpecs(expectation: string, test: (multiPath: MultiPath) => void): void; /** * Produces a spec for each supported path type (single and multi paths) and runs the test against the path. * * @export * @param {string} expectation Format is `should for a `. * @param {(path: CoordPath) => void} test The test to perform on the path. */ export declare function producePathSpecs(expectation: string, test: (path: CoordPath) => void): void; /** * Produces a spec for each supported native bounds types and runs the test against the bounds. * * @export * @param {string} expectation Format is `should for a `. * @param {(boundable: IBounds) => void} test The test to perform on the bounds object. */ export declare function produceNativeBoundsSpecs(expectation: string, test: (bounds: NativeBounds) => void): void; /** * Produces a spec for each supported IBounds implementing types and runs the test against the implementers. * * @export * @param {string} expectation Format is `should for a `. * @param {(boundable: IBounds) => void} test The test to perform on the IBounds implementer. */ export declare function produceIBoundsSpecs(expectation: string, test: (boundable: IBounds) => void): void; /** * Produces a spec for each supported data layer geometry type and runs the test against the geometry. * * @export * @param {string} expectation Format is `should for a `. * @param {(geo: google.maps.Data.Geometry) => void} test The test to perform on the geometry. */ export declare function produceDataGeometrySpecs(expectation: string, test: (geo: google.maps.Data.Geometry) => void): void; /** * Produces a spec for each supported BoundsLike geometry type and runs the test against the geometry. * * @export * @param {string} expectation Format is `should for a `. * @param {(element: BoundsLike) => void} test The test to perform on the bounds like element. * @param {string[]} exclude (Optional) Type names of bounds like object to exclude from the specs. Example: `['literal coord', 'LatLng coord']`. */ export declare function produceBoundsLikeSpecs(expectation: string, test: (value: BoundsLike) => void, exclude?: string[]): void; export declare function produceFlexibleDummiesSpecs(flexibles: FlexibleDummies, flexibleType: string, expectation: string, test: (value: T) => void, exclude?: string[]): void;