// Path: jbbvm/bbvm-core/src/main/java/me/wener/bbvm/dev/swing/Images.java
// static class ImageInfo {
//     private int index;
//     private int width = -1;
//     private int height = -1;
//     private int size = -1;
//     private int offset;
//     private String name;
//     private String type;
//     private String filename;
// 
//     public ImageInfo() {
//     }
// 
//     public ImageInfo(int index, String name, int offset, String filename, String type) {
//         this.index = index;
//         this.name = name;
//         this.offset = offset;
//         this.filename = filename;
//         this.type = type;
//     }
// 
//     public int getOffset() {
//         return offset;
//     }
// 
//     public int getIndex() {
//         return index;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public String getFilename() {
//         return filename;
//     }
// 
//     public int getWidth() {
//         return width;
//     }
// 
//     public ImageInfo setWidth(int width) {
//         this.width = width;
//         return this;
//     }
// 
//     public int getHeight() {
//         return height;
//     }
// 
//     public ImageInfo setHeight(int height) {
//         this.height = height;
//         return this;
//     }
// 
//     /**
//      * Pixel pre size
//      */
//     public int getBits() {
//         return size * 8 / (width * height);
//     }
// 
//     public int getSize() {
//         return size;
//     }
// 
//     public ImageInfo setSize(int size) {
//         this.size = size;
//         return this;
//     }
// 
//     @Override
//     public String toString() {
//         return MoreObjects.toStringHelper(this)
//             .add("index", index)
//             .add("width", width)
//             .add("height", height)
//             .add("size", size)
//             .add("offset", offset)
//             .add("bits", getBits())
//             .add("name", name)
//             .add("type", type)
//             .add("filename", filename)
//             .toString();
//     }
// }


import me.wener.bbvm.dev.swing.Images.ImageInfo;
import org.junit.Test;
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
package me.wener.bbvm.dev.swing;



/**
 * @author wener
 * @since 15/12/20
 */
public class ImagesTest {

    @Test(expected = Exception.class)
    public void testFileNotFound() throws IOException {
        Images.load("../bbvm-test/image/9288-xxxx.lib").get(0);
    }

    @Test
    public void testLib2BitLeGray() throws IOException {
        ImageInfo info = Images.load("../bbvm-test/image/9288.lib").get(0);
        ImageIO.write(Images.read(info), "png", new File(info.getType() + ".png"));
    }

    @Test
    public void testLib2BitBeGray() throws IOException {
// Path: jbbvm/bbvm-core/src/main/java/me/wener/bbvm/dev/swing/Images.java
// static class ImageInfo {
//     private int index;
//     private int width = -1;
//     private int height = -1;
//     private int size = -1;
//     private int offset;
//     private String name;
//     private String type;
//     private String filename;
// 
//     public ImageInfo() {
//     }
// 
//     public ImageInfo(int index, String name, int offset, String filename, String type) {
//         this.index = index;
//         this.name = name;
//         this.offset = offset;
//         this.filename = filename;
//         this.type = type;
//     }
// 
//     public int getOffset() {
//         return offset;
//     }
// 
//     public int getIndex() {
//         return index;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public String getFilename() {
//         return filename;
//     }
// 
//     public int getWidth() {
//         return width;
//     }
// 
//     public ImageInfo setWidth(int width) {
//         this.width = width;
//         return this;
//     }
// 
//     public int getHeight() {
//         return height;
//     }
// 
//     public ImageInfo setHeight(int height) {
//         this.height = height;
//         return this;
//     }
// 
//     /**
//      * Pixel pre size
//      */
//     public int getBits() {
//         return size * 8 / (width * height);
//     }
// 
//     public int getSize() {
//         return size;
//     }
// 
//     public ImageInfo setSize(int size) {
//         this.size = size;
//         return this;
//     }
// 
//     @Override
//     public String toString() {
//         return MoreObjects.toStringHelper(this)
//             .add("index", index)
//             .add("width", width)
//             .add("height", height)
//             .add("size", size)
//             .add("offset", offset)
//             .add("bits", getBits())
//             .add("name", name)
//             .add("type", type)
//             .add("filename", filename)
//             .toString();
//     }
// }


// Path: jbbvm/bbvm-core/src/test/java/me/wener/bbvm/dev/swing/ImagesTest.java
import me.wener.bbvm.dev.swing.Images.ImageInfo;
import org.junit.Test;
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;

package me.wener.bbvm.dev.swing;



/**
 * @author wener
 * @since 15/12/20
 */
public class ImagesTest {

    @Test(expected = Exception.class)
    public void testFileNotFound() throws IOException {
        Images.load("../bbvm-test/image/9288-xxxx.lib").get(0);
    }

    @Test
    public void testLib2BitLeGray() throws IOException {
        ImageInfo info = Images.load("../bbvm-test/image/9288.lib").get(0);
        ImageIO.write(Images.read(info), "png", new File(info.getType() + ".png"));
    }

    @Test
    public void testLib2BitBeGray() throws IOException {
        ImageInfo info = Images.load("../bbvm-test/image/9188.lib").get(0);