// Path: src/test/java/io/github/novacrypto/base58/json/TestVector.java
// public final class TestVector {
// 
//     @SerializedName("dataHex")
//     public String dataHex;
// 
//     @SerializedName("dataBase58")
//     public String dataBase58;
// }
// 
// Path: src/test/java/io/github/novacrypto/base58/json/TestVectorCollection.java
// public final class TestVectorCollection {
//     public List<TestVector> vectors;
// }


import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import io.github.novacrypto.base58.json.TestVector;
import io.github.novacrypto.base58.json.TestVectorCollection;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;
    public Base58ResourceTestVectors(final String resourceName) {
        collection = Resources.loadJsonResource(resourceName, TestVectorCollection.class);
    }

    @Test
    public void encodeStatic() {
        for (final TestVector vector : collection.vectors) {
            final byte[] bytes = fromHex(vector.dataHex);
            Assert.assertEquals(vector.dataBase58, Base58EncodeTests.base58StaticEncode(bytes));
        }
    }

    @Test
    public void encodeInstance() {
        for (final TestVector vector : collection.vectors) {
            final byte[] bytes = fromHex(vector.dataHex);
            Assert.assertEquals(vector.dataBase58, Base58EncodeTests.base58InstanceEncode(bytes));
        }
    }

    @Test
    public void encodeSecureInstance() {
        for (final TestVector vector : collection.vectors) {
            final byte[] bytes = fromHex(vector.dataHex);
            Assert.assertEquals(vector.dataBase58, Base58EncodeTests.base58SecureInstanceEncode(bytes));
        }
    }

    @Test
    public void encodeParallelStatic() throws InterruptedException {
// Path: src/test/java/io/github/novacrypto/base58/json/TestVector.java
// public final class TestVector {
// 
//     @SerializedName("dataHex")
//     public String dataHex;
// 
//     @SerializedName("dataBase58")
//     public String dataBase58;
// }
// 
// Path: src/test/java/io/github/novacrypto/base58/json/TestVectorCollection.java
// public final class TestVectorCollection {
//     public List<TestVector> vectors;
// }


// Path: src/test/java/io/github/novacrypto/Base58ResourceTestVectors.java
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import io.github.novacrypto.base58.json.TestVector;
import io.github.novacrypto.base58.json.TestVectorCollection;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;

    public Base58ResourceTestVectors(final String resourceName) {
        collection = Resources.loadJsonResource(resourceName, TestVectorCollection.class);
    }

    @Test
    public void encodeStatic() {
        for (final TestVector vector : collection.vectors) {
            final byte[] bytes = fromHex(vector.dataHex);
            Assert.assertEquals(vector.dataBase58, Base58EncodeTests.base58StaticEncode(bytes));
        }
    }

    @Test
    public void encodeInstance() {
        for (final TestVector vector : collection.vectors) {
            final byte[] bytes = fromHex(vector.dataHex);
            Assert.assertEquals(vector.dataBase58, Base58EncodeTests.base58InstanceEncode(bytes));
        }
    }

    @Test
    public void encodeSecureInstance() {
        for (final TestVector vector : collection.vectors) {
            final byte[] bytes = fromHex(vector.dataHex);
            Assert.assertEquals(vector.dataBase58, Base58EncodeTests.base58SecureInstanceEncode(bytes));
        }
    }

    @Test
    public void encodeParallelStatic() throws InterruptedException {
        final ParallelTasks parallelTasks = new ParallelTasks();