Package com.vtence.tape.testmodel.builders

Source Code of com.vtence.tape.testmodel.builders.ItemBuilder

package com.vtence.tape.testmodel.builders;

import com.vtence.tape.testmodel.Item;
import com.vtence.tape.testmodel.Product;

import java.math.BigDecimal;

import static com.vtence.tape.testmodel.builders.ProductBuilder.aProduct;

public class ItemBuilder implements Builder<Item> {

    private String number = FakeNumber.aNumber();
    private Product product = aProduct().build();
    private BigDecimal price = FakePrice.aPrice();

    public static ItemBuilder anItem() {
        return new ItemBuilder();
    }

    public Item build() {
        return new Item(number, product, price);
    }

    public ItemBuilder withNumber(String number) {
        this.number = number;
        return this;
    }

    public static ItemBuilder a(ProductBuilder productBuilder) {
        return a(productBuilder.build());
    }

    public static ItemBuilder an(ProductBuilder productBuilder) {
        return an(productBuilder.build());
    }

    public static ItemBuilder a(Product product) {
        return anItem().of(product);
    }

    public static ItemBuilder an(Product product) {
        return a(product);
    }

    public ItemBuilder of(ProductBuilder product) {
        return of(product.build());
    }

    public ItemBuilder of(Product product) {
        this.product = product;
        return this;
    }

    public ItemBuilder priced(String price) {
        return priced(new BigDecimal(price));
    }

    public ItemBuilder priced(BigDecimal price) {
        this.price = price;
        return this;
    }
}
TOP

Related Classes of com.vtence.tape.testmodel.builders.ItemBuilder

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.