package xapi.test.util;
import org.junit.Assert;
import org.junit.Test;
import xapi.fu.Lazy;
import xapi.util.api.HasId;
import xapi.util.api.IdGenerator;
import xapi.util.impl.IdGeneratorDefault;
/**
* Created by James X. Nelson (james @wetheinter.net) on 7/29/16.
*/
public class IdGeneratorTest {
IdGenerator<RecursiveId> gen = new IdGeneratorDefault<>();
class RecursiveId implements HasId {
private Lazy<String> id = Lazy.deferred1(()->gen.generateId(this));
@Override
public String getId() {
return id.out1();
}
}
@Test
public void testRecursion() {
final RecursiveId ident = new RecursiveId();
String id = ident.getId();
Assert.assertEquals("0", id);
Assert.assertEquals("0", ident.getId());
}
}