// Path: src/main/java/br/com/six2six/fixturefactory/base/Range.java
// public class Range {
// 
// 	private Number start;
// 	
// 	private Number end;
// 
// 	public Range(Number start, Number end) {
// 		if (start.doubleValue() >= end.doubleValue()) {
// 			throw new IllegalArgumentException(String.format("incorrect range: [%d, %d]", start, end));
// 		}
// 		
// 		this.start = start;
// 		this.end = end;
// 	}
// 
// 	public Number getStart() {
// 		return start;
// 	}
// 
// 	public Number getEnd() {
// 		return end;
// 	}
// 	
// }


import br.com.six2six.fixturefactory.base.Range;
import br.com.six2six.fixturefactory.function.AtomicFunction;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.MathContext;
import java.math.RoundingMode;
import java.util.Random;

package br.com.six2six.fixturefactory.function.impl;



public class RandomFunction implements AtomicFunction {

    private Class<?> type;
    private Object[] dataset;
    private AtomicFunction[] functions;

// Path: src/main/java/br/com/six2six/fixturefactory/base/Range.java
// public class Range {
// 
// 	private Number start;
// 	
// 	private Number end;
// 
// 	public Range(Number start, Number end) {
// 		if (start.doubleValue() >= end.doubleValue()) {
// 			throw new IllegalArgumentException(String.format("incorrect range: [%d, %d]", start, end));
// 		}
// 		
// 		this.start = start;
// 		this.end = end;
// 	}
// 
// 	public Number getStart() {
// 		return start;
// 	}
// 
// 	public Number getEnd() {
// 		return end;
// 	}
// 	
// }


// Path: src/main/java/br/com/six2six/fixturefactory/function/impl/RandomFunction.java
import br.com.six2six.fixturefactory.base.Range;
import br.com.six2six.fixturefactory.function.AtomicFunction;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.MathContext;
import java.math.RoundingMode;
import java.util.Random;

package br.com.six2six.fixturefactory.function.impl;



public class RandomFunction implements AtomicFunction {

    private Class<?> type;
    private Object[] dataset;
    private AtomicFunction[] functions;

    private Range range;
