Package com.netflix.astyanax.model

Source Code of com.netflix.astyanax.model.CompositeTest

package com.netflix.astyanax.model;


import java.nio.ByteBuffer;
import java.util.UUID;
import java.util.concurrent.TimeUnit;

import org.junit.Test;

import org.apache.commons.lang.StringUtils;

import com.netflix.astyanax.serializers.ByteBufferOutputStream;

import junit.framework.Assert;

import static org.junit.Assert.assertEquals;


public class CompositeTest {
    @Test
    public void testByteBufferOutputStream() throws Exception {
        ByteBufferOutputStream out = new ByteBufferOutputStream();

        int length = 0;
        for ( int i = 0; i < 300; i++ ) {
            length += i;
            out.write( StringUtils.repeat( "*", i ).getBytes() );
        }

        ByteBuffer buffer = out.getByteBuffer();
        Assert.assertEquals( buffer.capacity(), length );
    }


    /**
     * Test the I/O of using a static composite works correctly
     */
    @Test
    public void compositeSerializesPrimitives() {
        final CompositeBuilder builder = Composites.newCompositeBuilder();

        final String string = "test";
        final UUID uuid = UUID.randomUUID();
        final boolean bool = true;
        final Integer integer = 10;
        final Long longval = 20l;


        builder.addString( string );
        builder.addUUID( uuid );
        builder.addBoolean( bool );
        builder.addInteger( integer );
        builder.addLong( longval );


        final CompositeParser parser = Composites.newCompositeParser( builder.build() );

        //now read back
        assertEquals( string, parser.readString() );
        assertEquals( uuid, parser.readUUID() );
        assertEquals( bool, parser.readBoolean() );
        assertEquals( integer, parser.readInteger() );
        assertEquals( longval, parser.readLong() );
    }

    /**
        * Test the index out of bounds on the read
        */
       @Test(expected = IndexOutOfBoundsException.class)
       public void compositeOutofBounds() {
           final CompositeBuilder builder = Composites.newCompositeBuilder();

           final String string = "test";

           builder.addString( string );


           final CompositeParser parser = Composites.newCompositeParser( builder.build() );

           //now read back
           assertEquals( string, parser.readString() );

           //read beyond available elements.  Should throw IndexOutOfBoundsException
           parser.readString();
       }
}
TOP

Related Classes of com.netflix.astyanax.model.CompositeTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.