All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.natpryce.snodge.internal.EncodedStringMutator Maven / Gradle / Ivy

Go to download

A small, extensible Java library to randomly mutate JSON documents. Useful for fuzz testing.

There is a newer version: 3.7.0.0
Show newest version
package com.natpryce.snodge.internal;

import com.natpryce.snodge.Mutator;

import java.nio.charset.Charset;
import java.util.stream.Stream;

public class EncodedStringMutator implements Mutator {
    private final Mutator stringMutator;
    private final Charset charset;

    public EncodedStringMutator(Charset charset, Mutator stringMutator) {
        this.charset = charset;
        this.stringMutator = stringMutator;
    }

    @Override
    public Stream mutate(byte[] originalBytes, int mutationCount) {
        return stringMutator.mutate(new String(originalBytes, charset), mutationCount)
            .map(stringMutant -> stringMutant.getBytes(charset));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy