// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static final int FNC1 = -1;
// 
// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static final int FNC2 = -2;
// 
// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static final int FNC3 = -3;
// 
// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static final int FNC4 = -4;
// 
// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static int[] toBytes(String s, Charset charset, int... suffix) {
// 
//     if (!charset.newEncoder().canEncode(s)) {
//         return null;
//     }
// 
//     byte[] fnc1 = FNC1_STRING.getBytes(charset);
//     byte[] fnc2 = FNC2_STRING.getBytes(charset);
//     byte[] fnc3 = FNC3_STRING.getBytes(charset);
//     byte[] fnc4 = FNC4_STRING.getBytes(charset);
// 
//     byte[] bytes = s.getBytes(charset);
//     int[] data = new int[bytes.length + suffix.length];
// 
//     int i = 0, j = 0;
//     for (; i < bytes.length; i++, j++) {
//         if (containsAt(bytes, fnc1, i)) {
//             data[j] = FNC1;
//             i += fnc1.length - 1;
//         } else if (containsAt(bytes, fnc2, i)) {
//             data[j] = FNC2;
//             i += fnc1.length - 1;
//         } else if (containsAt(bytes, fnc3, i)) {
//             data[j] = FNC3;
//             i += fnc1.length - 1;
//         } else if (containsAt(bytes, fnc4, i)) {
//             data[j] = FNC4;
//             i += fnc1.length - 1;
//         } else {
//             data[j] = bytes[i] & 0xff;
//         }
//     }
// 
//     int k = 0;
//     for (; k < suffix.length; k++) {
//         data[j + k] = suffix[k];
//     }
// 
//     if (j + k < i) {
//         data = Arrays.copyOf(data, j + k);
//     }
// 
//     return data;
// }


import static java.nio.charset.StandardCharsets.US_ASCII;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.Assert.assertArrayEquals;
import static uk.org.okapibarcode.backend.Symbol.FNC1;
import static uk.org.okapibarcode.backend.Symbol.FNC2;
import static uk.org.okapibarcode.backend.Symbol.FNC3;
import static uk.org.okapibarcode.backend.Symbol.FNC4;
import static uk.org.okapibarcode.backend.Symbol.toBytes;
import java.nio.charset.Charset;
import org.junit.Test;
package uk.org.okapibarcode.backend;




public class SymbolBasicTest {

    @Test
    public void testToBytes() {

// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static final int FNC1 = -1;
// 
// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static final int FNC2 = -2;
// 
// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static final int FNC3 = -3;
// 
// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static final int FNC4 = -4;
// 
// Path: src/main/java/uk/org/okapibarcode/backend/Symbol.java
// protected static int[] toBytes(String s, Charset charset, int... suffix) {
// 
//     if (!charset.newEncoder().canEncode(s)) {
//         return null;
//     }
// 
//     byte[] fnc1 = FNC1_STRING.getBytes(charset);
//     byte[] fnc2 = FNC2_STRING.getBytes(charset);
//     byte[] fnc3 = FNC3_STRING.getBytes(charset);
//     byte[] fnc4 = FNC4_STRING.getBytes(charset);
// 
//     byte[] bytes = s.getBytes(charset);
//     int[] data = new int[bytes.length + suffix.length];
// 
//     int i = 0, j = 0;
//     for (; i < bytes.length; i++, j++) {
//         if (containsAt(bytes, fnc1, i)) {
//             data[j] = FNC1;
//             i += fnc1.length - 1;
//         } else if (containsAt(bytes, fnc2, i)) {
//             data[j] = FNC2;
//             i += fnc1.length - 1;
//         } else if (containsAt(bytes, fnc3, i)) {
//             data[j] = FNC3;
//             i += fnc1.length - 1;
//         } else if (containsAt(bytes, fnc4, i)) {
//             data[j] = FNC4;
//             i += fnc1.length - 1;
//         } else {
//             data[j] = bytes[i] & 0xff;
//         }
//     }
// 
//     int k = 0;
//     for (; k < suffix.length; k++) {
//         data[j + k] = suffix[k];
//     }
// 
//     if (j + k < i) {
//         data = Arrays.copyOf(data, j + k);
//     }
// 
//     return data;
// }


// Path: src/test/java/uk/org/okapibarcode/backend/SymbolBasicTest.java
import static java.nio.charset.StandardCharsets.US_ASCII;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.Assert.assertArrayEquals;
import static uk.org.okapibarcode.backend.Symbol.FNC1;
import static uk.org.okapibarcode.backend.Symbol.FNC2;
import static uk.org.okapibarcode.backend.Symbol.FNC3;
import static uk.org.okapibarcode.backend.Symbol.FNC4;
import static uk.org.okapibarcode.backend.Symbol.toBytes;
import java.nio.charset.Charset;
import org.junit.Test;

package uk.org.okapibarcode.backend;




public class SymbolBasicTest {

    @Test
    public void testToBytes() {

        assertArrayEquals(null,                     toBytes("\u00e9", US_ASCII));