// 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;
/*
 *  Base58 library, a Java implementation of Base58 encode/decode
 *  Copyright (C) 2017-2019 Alan Evans, NovaCrypto
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
 *
 *  Original source: https://github.com/NovaCrypto/Base58
 *  You can contact the authors via github issues.
 */

package io.github.novacrypto;




@RunWith(Parameterized.class)
public final class Base58ResourceTestVectors {
    @Parameterized.Parameters
    public static Collection<Object[]> data() {
        return Arrays.asList(new Object[][]{
                {"LargeCase.json"},
                {"OneByte.json"},
                {"Random82Length.json"},
                {"RandomDecreasingLength.json"},
                {"RandomIncreasingLength.json"}
        });
    }

    private final TestVectorCollection collection;

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

    @Test
    public void encodeStatic() {
// 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;

/*
 *  Base58 library, a Java implementation of Base58 encode/decode
 *  Copyright (C) 2017-2019 Alan Evans, NovaCrypto
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
 *
 *  Original source: https://github.com/NovaCrypto/Base58
 *  You can contact the authors via github issues.
 */

package io.github.novacrypto;




@RunWith(Parameterized.class)
public final class Base58ResourceTestVectors {
    @Parameterized.Parameters
    public static Collection<Object[]> data() {
        return Arrays.asList(new Object[][]{
                {"LargeCase.json"},
                {"OneByte.json"},
                {"Random82Length.json"},
                {"RandomDecreasingLength.json"},
                {"RandomIncreasingLength.json"}
        });
    }

    private final TestVectorCollection collection;

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

    @Test
    public void encodeStatic() {
        for (final TestVector vector : collection.vectors) {