// Path: datagen/src/main/java/io/qala/datagen/RandomShortApi.java
// public static String unicode(int exactLength) {
//     return length(exactLength).unicode();
// }


import java.util.stream.Stream;
import static io.qala.datagen.RandomShortApi.unicode;
package io.qala.datagen.junit.jupiter;



class UnicodeArgumentProvider extends RandomizedArgumentProvider<Unicode> {
    private Unicode annotation;

    @Override
    public void accept(Unicode annotation) {
        this.annotation = annotation;
    }

    @Override Stream<Object[]> getValueWithDescription() {
        return Stream.of(annotation).map(UnicodeArgumentProvider::generateParams);
    }
    @Override Stream<Object> getValue() {
        return Stream.of(annotation).map(UnicodeArgumentProvider::generateParam);
    }

    static String generateParam(Unicode annotation) {
// Path: datagen/src/main/java/io/qala/datagen/RandomShortApi.java
// public static String unicode(int exactLength) {
//     return length(exactLength).unicode();
// }


// Path: junit5/src/main/java/io/qala/datagen/junit/jupiter/UnicodeArgumentProvider.java
import java.util.stream.Stream;
import static io.qala.datagen.RandomShortApi.unicode;

package io.qala.datagen.junit.jupiter;



class UnicodeArgumentProvider extends RandomizedArgumentProvider<Unicode> {
    private Unicode annotation;

    @Override
    public void accept(Unicode annotation) {
        this.annotation = annotation;
    }

    @Override Stream<Object[]> getValueWithDescription() {
        return Stream.of(annotation).map(UnicodeArgumentProvider::generateParams);
    }
    @Override Stream<Object> getValue() {
        return Stream.of(annotation).map(UnicodeArgumentProvider::generateParam);
    }

    static String generateParam(Unicode annotation) {
        if (annotation.length() > 0) return unicode(annotation.length());