/** * Serialize the legal object as content of a {@code RequestBody} deferring to {@link ValidMockery} for object creation. * @see ValidMockery */ @Override public Object legal(Metadata<RequestBodyValid> metadata) { Object legal = validMockery.legal(validMetadata(metadata)); RequestBody requestBodyLegal = RequestBody .create(MediaType.parse("text/plain"), legal.toString()); return requestBodyLegal; }
@Theory @Test public void When_Legal_With_Default_Value_Then_Get_Default(Data data) throws NoSuchMethodException { String methodName = data.methodName + "WithDefault"; Method method = Providers.class.getDeclaredMethod(methodName, data.classParam); Valid annotation = (Valid) method.getParameterAnnotations()[0][0]; Type type = method.getGenericParameterTypes()[0]; Metadata<Valid> metadata = new Metadata<>(Providers.class, method, null, annotation, type); String result = String .valueOf(validMockery.legal(metadata)); assertThat(result, is(data.defaultSeed)); }
@Theory @Test public void When_Call_Legal_Then_Get_Legal(Data data) throws NoSuchMethodException { String methodName = data.methodName; Method method = Providers.class.getDeclaredMethod(methodName, data.classParam); Valid annotation = (Valid) method.getParameterAnnotations()[0][0]; Type type = method.getGenericParameterTypes()[0]; Metadata<Valid> metadata = new Metadata<>(Providers.class, method, null, annotation, type); for (int i = 0; i < 50; i++) { Object result = validMockery.legal(metadata); assertThat(result, instanceOf(data.classParam)); validMockery.validate(metadata, result); } }