package br.com.six2six.fixturefactory.function.impl; import br.com.six2six.fixturefactory.base.Sequence; public class NumberSequence implements Sequence<Number> { private Number base; private int amount; private int multiplier; public NumberSequence(Number base, int amount) { super(); this.base = base; this.amount = amount; } @Override public Number nextValue() { Number result = null; if (this.base instanceof Integer) { result = this.base.intValue() + (this.amount * this.multiplier); } else if (this.base instanceof Long) { result = this.base.longValue() + (this.amount * this.multiplier); } else if (this.base instanceof Float) { result = this.base.floatValue() + (this.amount * this.multiplier); } else if (this.base instanceof Double) { result = this.base.doubleValue() + (this.amount * this.multiplier); } this.multiplier++; return result; } }