Package br.com.six2six.template

Source Code of br.com.six2six.template.StudentTemplate

package br.com.six2six.template;

import br.com.six2six.bfgex.Gender;
import br.com.six2six.fixturefactory.Fixture;
import br.com.six2six.fixturefactory.Rule;
import br.com.six2six.fixturefactory.base.Sequence;
import br.com.six2six.fixturefactory.function.impl.NumberSequence;
import br.com.six2six.fixturefactory.loader.TemplateLoader;
import br.com.six2six.fixturefactory.model.Student;

public class StudentTemplate implements TemplateLoader {

  @Override
  public void load() {
    Fixture.of(Student.class).addTemplate("valid", new Rule(){{
      add("id", sequence(1L, 1));
      add("firstName", firstName());
      add("lastName", lastName());
      add("gender", random(Gender.class));
      add("bestScore", regex("\\d{2}\\.\\d{3}"));
      add("testsTaken", regex("\\d{1}1"));
      add("idCardNumber", regex("\\d{6}"));
    }}
    ).addTemplate("validFemaleStudent", new Rule(){{
      add("id", sequence(200L, 2));
      add("firstName", firstName(Gender.FEMALE));
      add("lastName", lastName());
      add("gender", Gender.FEMALE);
    }}
    ).addTemplate("validMaleStudent", new Rule() {{
      add("id", regex("\\d{3,5}"));
      add("firstName", firstName(Gender.MALE));
      add("lastName", lastName());
      add("gender", Gender.MALE);
    }});
   
    final Sequence<Number> numberSequence = new NumberSequence(1L, 1);
   
    Fixture.of(Student.class).addTemplate("sharedSequence", new Rule(){{
      add("id", sequence(numberSequence));
    }}
    ).addTemplate("otherSharedSequence", new Rule(){{
      add("id", sequence(numberSequence));
    }});
   
    Fixture.of(Student.class).addTemplate("defaultNumberSequence", new Rule() {{
      add("id", sequence(Long.class));
    }})
  }
}
TOP

Related Classes of br.com.six2six.template.StudentTemplate

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.