// Path: src/main/java/com/github/davidmoten/rx2/util/ZippedEntry.java
// public final class ZippedEntry {
// 
//     final String name; // entry name
//     final long time; // last modification time
//     // final FileTime mtime; // last modification time, from extra field data
//     // final FileTime atime; // last access time, from extra field data
//     // final FileTime ctime; // creation time, from extra field data
//     final long crc; // crc-32 of entry data
//     final long size; // uncompressed size of entry data
//     final long csize; // compressed size of entry data
//     final int method; // compression method
//     final byte[] extra; // optional extra field data for entry
//     final String comment; // optional comment string for entry
//     private final InputStream is;
// 
//     public ZippedEntry(ZipEntry e, InputStream is) {
//         this.name = e.getName();
//         this.time = e.getTime();
//         // this.mtime = e.getLastModifiedTime();
//         // this.atime = e.getLastAccessTime();
//         // this.ctime = e.getCreationTime();
//         this.crc = e.getCrc();
//         this.size = e.getSize();
//         this.csize = e.getCompressedSize();
//         this.method = e.getMethod();
//         this.extra = e.getExtra();
//         this.comment = e.getComment();
//         this.is = is;
//     }
// 
//     public InputStream getInputStream() {
//         return is;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public long getTime() {
//         return time;
//     }
// 
//     // public FileTime getLastModifiedTime() {
//     // return mtime;
//     // }
// 
//     // public FileTime getLastAccessTime() {
//     // return atime;
//     // }
// 
//     // public FileTime getCreatedtime() {
//     // return ctime;
//     // }
// 
//     public long getCrc() {
//         return crc;
//     }
// 
//     public long getSize() {
//         return size;
//     }
// 
//     public long getCompressedSize() {
//         return csize;
//     }
// 
//     public int getMethod() {
//         return method;
//     }
// 
//     public byte[] getExtra() {
//         return extra;
//     }
// 
//     public String getComment() {
//         return comment;
//     }
// 
// }


import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import org.junit.Test;
import com.github.davidmoten.junit.Asserts;
import com.github.davidmoten.rx2.util.ZippedEntry;
import io.reactivex.Flowable;
import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function;
import io.reactivex.functions.Predicate;
package com.github.davidmoten.rx2;






public class BytesTest {

    @Test
    public void testUnzip() {
        List<String> list = Bytes.unzip(new File("src/test/resources/test.zip"))
// Path: src/main/java/com/github/davidmoten/rx2/util/ZippedEntry.java
// public final class ZippedEntry {
// 
//     final String name; // entry name
//     final long time; // last modification time
//     // final FileTime mtime; // last modification time, from extra field data
//     // final FileTime atime; // last access time, from extra field data
//     // final FileTime ctime; // creation time, from extra field data
//     final long crc; // crc-32 of entry data
//     final long size; // uncompressed size of entry data
//     final long csize; // compressed size of entry data
//     final int method; // compression method
//     final byte[] extra; // optional extra field data for entry
//     final String comment; // optional comment string for entry
//     private final InputStream is;
// 
//     public ZippedEntry(ZipEntry e, InputStream is) {
//         this.name = e.getName();
//         this.time = e.getTime();
//         // this.mtime = e.getLastModifiedTime();
//         // this.atime = e.getLastAccessTime();
//         // this.ctime = e.getCreationTime();
//         this.crc = e.getCrc();
//         this.size = e.getSize();
//         this.csize = e.getCompressedSize();
//         this.method = e.getMethod();
//         this.extra = e.getExtra();
//         this.comment = e.getComment();
//         this.is = is;
//     }
// 
//     public InputStream getInputStream() {
//         return is;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public long getTime() {
//         return time;
//     }
// 
//     // public FileTime getLastModifiedTime() {
//     // return mtime;
//     // }
// 
//     // public FileTime getLastAccessTime() {
//     // return atime;
//     // }
// 
//     // public FileTime getCreatedtime() {
//     // return ctime;
//     // }
// 
//     public long getCrc() {
//         return crc;
//     }
// 
//     public long getSize() {
//         return size;
//     }
// 
//     public long getCompressedSize() {
//         return csize;
//     }
// 
//     public int getMethod() {
//         return method;
//     }
// 
//     public byte[] getExtra() {
//         return extra;
//     }
// 
//     public String getComment() {
//         return comment;
//     }
// 
// }


// Path: src/test/java/com/github/davidmoten/rx2/BytesTest.java
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import org.junit.Test;
import com.github.davidmoten.junit.Asserts;
import com.github.davidmoten.rx2.util.ZippedEntry;
import io.reactivex.Flowable;
import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function;
import io.reactivex.functions.Predicate;

package com.github.davidmoten.rx2;






public class BytesTest {

    @Test
    public void testUnzip() {
        List<String> list = Bytes.unzip(new File("src/test/resources/test.zip"))
                .concatMap(new Function<ZippedEntry, Flowable<String>>() {