@Test
public void lazyStep() throws Exception {

    AutoValue_Primitive.BuilderLazyStep primitiveBuilder = Primitive.lazyStep()
            .primitiveInt(()->PRIMITIVE_INT)
            .primitiveLong(()->PRIMITIVE_LONG)
            .primitiveDouble(()->PRIMITIVE_DOUBLE)
            .primitiveFloat(()->PRIMITIVE_FLOAT)
            .primitiveBoolean(()->PRIMITIVE_BOOLEAN)
            .primitiveByte(()->PRIMITIVE_BYTE)
            .primitiveChar(()->PRIMITIVE_CHAR);
    Primitive buildOne = primitiveBuilder.build();
    assertPrimitive(buildOne);
    Primitive buildTwo = primitiveBuilder.build();
    assertEquals(buildOne, buildTwo);
}