view src/test/java/org/msgpack/unpacker/TestReadTemplate.java @ 0:cb825acd883a

first commit
author sugi
date Sat, 18 Oct 2014 15:06:15 +0900
parents
children
line wrap: on
line source

package org.msgpack.unpacker;

import static org.junit.Assert.assertNull;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.Date;
import java.math.BigInteger;
import java.math.BigDecimal;

import org.msgpack.MessagePack;
import org.msgpack.packer.BufferPacker;
import org.msgpack.template.Templates;
import org.msgpack.unpacker.Unpacker;

import org.junit.Test;

public class TestReadTemplate {
    public static enum MyEnum {
        A, B, C;
    }

    @Test
    public void testReadTemplateNull() throws IOException {
        Byte tbyte = u().read(Templates.TByte);
        assertNull(tbyte);

        Short tshort = u().read(Templates.TShort);
        assertNull(tshort);

        Integer tinteger = u().read(Templates.TInteger);
        assertNull(tinteger);

        Long tlong = u().read(Templates.TLong);
        assertNull(tlong);

        Character tcharacter = u().read(Templates.TCharacter);
        assertNull(tcharacter);

        BigInteger tbiginteger = u().read(Templates.TBigInteger);
        assertNull(tbiginteger);

        BigDecimal tbigdecimail = u().read(Templates.TBigDecimal);
        assertNull(tbigdecimail);

        Float tfloat = u().read(Templates.TFloat);
        assertNull(tfloat);

        Double tdouble = u().read(Templates.TDouble);
        assertNull(tdouble);

        Boolean tboolean = u().read(Templates.TBoolean);
        assertNull(tboolean);

        String tstring = u().read(Templates.TString);
        assertNull(tstring);

        byte[] tbytearray = u().read(Templates.TByteArray);
        assertNull(tbytearray);

        ByteBuffer tbytebuffer = u().read(Templates.TByteBuffer);
        assertNull(tbytebuffer);

        Date tdate = u().read(Templates.TDate);
        assertNull(tdate);

        List<String> tlist = u().read(Templates.tList(Templates.TString));
        assertNull(tlist);

        Map<String, Integer> tmap = u().read(
                Templates.tMap(Templates.TString, Templates.TInteger));
        assertNull(tmap);

        Collection<Long> tcollection = u().read(
                Templates.tCollection(Templates.TLong));
        assertNull(tcollection);

        MyEnum tordinalenum = u().read(Templates.tOrdinalEnum(MyEnum.class));
        assertNull(tordinalenum);
    }

    // return unpacker that can read a nil
    private Unpacker u() throws IOException {
        MessagePack msgpack = new MessagePack();
        BufferPacker pk = msgpack.createBufferPacker();
        pk.writeNil();
        Unpacker u = msgpack.createBufferUnpacker(pk.toByteArray());
        return u;
    }
}