Package com.twitter.elephantbird.util

Source Code of com.twitter.elephantbird.util.TestThriftToProto

package com.twitter.elephantbird.util;

import static org.junit.Assert.assertEquals;

import java.io.IOException;

import org.apache.thrift.Fixtures;
import org.apache.thrift.TException;
import org.junit.Test;

import thrift.test.OneOfEach;

import com.google.protobuf.Descriptors.DescriptorValidationException;
import com.google.protobuf.DynamicMessage;
import com.twitter.elephantbird.thrift.test.PhoneNumber;
import com.twitter.elephantbird.thrift.test.PhoneType;
import com.twitter.elephantbird.examples.proto.ThriftFixtures;
import com.twitter.elephantbird.util.Protobufs;
import com.twitter.elephantbird.util.ThriftToProto;

public class TestThriftToProto {
  @Test
  public void testThriftToProto() throws TException, IOException {
    OneOfEach ooe = Fixtures.oneOfEach;
    ThriftToProto<OneOfEach, ThriftFixtures.OneOfEach> thriftToProto =
      ThriftToProto.newInstance(ooe, ThriftFixtures.OneOfEach.newBuilder().build());
    ThriftFixtures.OneOfEach proto = thriftToProto.convert(ooe);
    assertEquals(ooe.im_true, proto.getImTrue());
    assertEquals(ooe.im_false, proto.getImFalse());
    assertEquals(ooe.a_bite, proto.getABite());
    assertEquals(ooe.integer16, proto.getInteger16());
    assertEquals(ooe.integer32, proto.getInteger32());
    assertEquals(ooe.integer64, proto.getInteger64());
    assertEquals(ooe.double_precision, proto.getDoublePrecision(), 0.00001);
    assertEquals(ooe.some_characters, proto.getSomeCharacters());
    assertEquals(ooe.zomg_unicode, proto.getZomgUnicode());
    assertEquals(ooe.what_who, proto.getWhatWho());

    assertEquals(new String(ooe.getBase64(), "UTF-8"), proto.getBase64().toStringUtf8());
  }
}
TOP

Related Classes of com.twitter.elephantbird.util.TestThriftToProto

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.