MCPcopy Index your code
hub / github.com/Effect-TS/effect / simplePrimitiveTestSuite

Function simplePrimitiveTestSuite

packages/cli/test/Primitive.test.ts:115–135  ·  view source on GitHub ↗
(
  primitive: Primitive.Primitive<A>,
  arb: fc.Arbitrary<A>,
  primitiveTypeName: string
)

Source from the content-addressed store, hash-verified

113})
114
115const simplePrimitiveTestSuite = <A>(
116 primitive: Primitive.Primitive<A>,
117 arb: fc.Arbitrary<A>,
118 primitiveTypeName: string
119) => {
120 describe(`${primitiveTypeName}`, () => {
121 it(`validates that valid values are accepted`, () =>
122 fc.assert(fc.asyncProperty(arb, (value) =>
123 Effect.gen(function*() {
124 const str = value instanceof Date ? value.toISOString() : `${value}`
125 const result = yield* Primitive.validate(primitive, Option.some(str), CliConfig.defaultConfig)
126 expect(result).toEqual(value)
127 }).pipe(runEffect))))
128
129 it(`validates that invalid values are rejected`, () =>
130 Effect.gen(function*() {
131 const result = yield* Effect.flip(Primitive.validate(primitive, Option.some("bad"), CliConfig.defaultConfig))
132 expect(result).toBe(`'bad' is not a ${Primitive.getTypeName(primitive)}`)
133 }).pipe(runEffect))
134 })
135}
136
137const randomizeCharacterCases = (str: string): string => {
138 let result = ""

Callers 1

Primitive.test.tsFile · 0.85

Calls 4

itFunction · 0.85
validateMethod · 0.80
assertMethod · 0.65
pipeMethod · 0.65

Tested by

no test coverage detected