Skip to content

Commit

Permalink
Add mobile phone number
Browse files Browse the repository at this point in the history
  • Loading branch information
tvedeane committed Jul 11, 2020
1 parent f4c6a92 commit 147d742
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 4 deletions.
Expand Up @@ -23,6 +23,7 @@ public class DefaultPersonProvider implements PersonProvider {

protected Person.Sex sex;
protected String telephoneNumberFormat;
protected String mobileTelephoneNumberFormat;
protected Integer age;
protected LocalDate dateOfBirth;
protected Company company;
Expand All @@ -33,6 +34,7 @@ public class DefaultPersonProvider implements PersonProvider {
protected String email;
protected String username;
protected String telephoneNumber;
protected String mobileTelephoneNumber;
protected String password;
protected String companyEmail;
protected String nationalIdentityCardNumber;
Expand Down Expand Up @@ -97,9 +99,10 @@ public Person get() {
generatePassportNumber();
generateAddress();
generateNationality();
generateMobileTelephoneNumber();

return new Person(firstName, middleName, lastName, address, email,
username, password, sex, telephoneNumber, dateOfBirth, age,
username, password, sex, telephoneNumber, mobileTelephoneNumber, dateOfBirth, age,
nationalIdentityCardNumber, nationalIdentificationNumber, passportNumber,
company, companyEmail, nationality);
}
Expand Down Expand Up @@ -176,6 +179,17 @@ public void generateTelephoneNumber() {
telephoneNumber = baseProducer.numerify(telephoneNumberFormat);
}

@Override
public void generateMobileTelephoneNumber() {
if (mobileTelephoneNumber != null) {
return;
}
if (mobileTelephoneNumberFormat == null) {
mobileTelephoneNumberFormat = dataMaster.getRandomValue(TELEPHONE_NUMBER_FORMATS);
}
mobileTelephoneNumber = baseProducer.numerify(mobileTelephoneNumberFormat);
}

@Override
public void generateAge() {
if (dateOfBirth != null) {
Expand Down Expand Up @@ -260,6 +274,11 @@ public void setTelephoneNumberFormat(String telephoneFormat) {
telephoneNumberFormat = telephoneFormat;
}

@Override
public void setMobileTelephoneNumberFormat(String mobileTelephoneNumberFormat) {
this.mobileTelephoneNumberFormat = mobileTelephoneNumberFormat;
}

@Override
public void setSex(Person.Sex sex) {
this.sex = sex;
Expand Down Expand Up @@ -305,6 +324,11 @@ public void setTelephoneNumber(String telephoneNumber) {
this.telephoneNumber = telephoneNumber;
}

@Override
public void setMobileTelephoneNumber(String telephoneNumber) {
this.telephoneNumber = telephoneNumber;
}

@Override
public void setDateOfBirth(LocalDate dateOfBirth) {
this.dateOfBirth = dateOfBirth;
Expand Down
13 changes: 10 additions & 3 deletions src/main/java/com/devskiller/jfairy/producer/person/Person.java
Expand Up @@ -22,6 +22,7 @@ public enum Sex {
private final String password;
private final Sex sex;
private final String telephoneNumber;
private final String mobileTelephoneNumber;
private final LocalDate dateOfBirth;
private final Integer age;
private final Company company;
Expand All @@ -32,9 +33,10 @@ public enum Sex {
private final Country nationality;

public Person(String firstName, String middleName, String lastName, Address address, String email, String username,
String password, Sex sex, String telephoneNumber, LocalDate dateOfBirth, Integer age,
String nationalIdentityCardNumber, String nationalIdentificationNumber, String passportNumber,
Company company, String companyEmail, Country nationality) {
String password, Sex sex, String telephoneNumber, String mobileTelephoneNumber,
LocalDate dateOfBirth, Integer age, String nationalIdentityCardNumber,
String nationalIdentificationNumber, String passportNumber, Company company, String companyEmail,
Country nationality) {
this.nationalIdentityCardNumber = nationalIdentityCardNumber;
this.address = address;
this.firstName = firstName;
Expand All @@ -45,6 +47,7 @@ public Person(String firstName, String middleName, String lastName, Address addr
this.password = password;
this.sex = sex;
this.telephoneNumber = telephoneNumber;
this.mobileTelephoneNumber = mobileTelephoneNumber;
this.dateOfBirth = dateOfBirth;
this.age = age;
this.nationalIdentificationNumber = nationalIdentificationNumber;
Expand Down Expand Up @@ -102,6 +105,10 @@ public String getTelephoneNumber() {
return telephoneNumber;
}

public String getMobileTelephoneNumber() {
return mobileTelephoneNumber;
}

public LocalDate getDateOfBirth() {
return dateOfBirth;
}
Expand Down
Expand Up @@ -73,6 +73,15 @@ public void apply(PersonProvider person, BaseProducer baseProducer) {
};
}

public static PersonProperty mobileTelephoneFormat(final String mobileTelephoneNumberFormat) {
return new PersonProperty() {
@Override
public void apply(PersonProvider person, BaseProducer baseProducer) {
person.setMobileTelephoneNumberFormat(mobileTelephoneNumberFormat);
}
};
}

public static PersonProperty withCompany(final Company company) {
return new PersonProperty() {
@Override
Expand Down Expand Up @@ -145,6 +154,15 @@ public void apply(PersonProvider personProvider, BaseProducer baseProducer) {
};
}

public static PersonProperty withMobileTelephoneNumber(final String mobileTelephoneNumber) {
return new PersonProperty() {
@Override
public void apply(PersonProvider personProvider, BaseProducer baseProducer) {
personProvider.setMobileTelephoneNumber(mobileTelephoneNumber);
}
};
}

public static PersonProperty withDateOfBirth(final LocalDate dateOfBirth) {
return new PersonProperty() {
@Override
Expand Down
Expand Up @@ -39,6 +39,8 @@ public interface PersonProvider extends Provider<Person> {

void generateTelephoneNumber();

void generateMobileTelephoneNumber();

void generateAge();

void generateDateOfBirth();
Expand All @@ -57,6 +59,8 @@ public interface PersonProvider extends Provider<Person> {

void setTelephoneNumberFormat(String telephoneFormat);

void setMobileTelephoneNumberFormat(String telephoneFormat);

void setSex(Person.Sex sex);

void setAge(int age);
Expand All @@ -75,6 +79,8 @@ public interface PersonProvider extends Provider<Person> {

void setTelephoneNumber(String telephoneNumber);

void setMobileTelephoneNumber(String telephoneNumber);

void setDateOfBirth(LocalDate dateOfBirth);

void setPassword(String password);
Expand Down
Expand Up @@ -18,6 +18,7 @@ import static com.devskiller.jfairy.producer.person.PersonProperties.female
import static com.devskiller.jfairy.producer.person.PersonProperties.male
import static com.devskiller.jfairy.producer.person.PersonProperties.maxAge
import static com.devskiller.jfairy.producer.person.PersonProperties.minAge
import static com.devskiller.jfairy.producer.person.PersonProperties.mobileTelephoneFormat
import static com.devskiller.jfairy.producer.person.PersonProperties.telephoneFormat
import static com.devskiller.jfairy.producer.person.PersonProperties.withAddress
import static com.devskiller.jfairy.producer.person.PersonProperties.withAge
Expand Down Expand Up @@ -145,6 +146,20 @@ class PersonSpec extends Specification {
person.telephoneNumber ==~ /\d\d\d--\d\d\d/
}

def "should create mobile telephone number"() {
when:
Person person = fairy.person()
then:
person.mobileTelephoneNumber
}

def "should create mobile telephone number in defined format"() {
when:
Person person = fairy.person(mobileTelephoneFormat("###--###"))
then:
person.mobileTelephoneNumber ==~ /\d\d\d--\d\d\d/
}

def "should create birth date"() {
when:
Person person = fairy.person()
Expand Down

0 comments on commit 147d742

Please sign in to comment.