/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.user.field;
import org.junit.Test;
import com.enonic.cms.api.client.model.user.Address;
import com.enonic.cms.api.client.model.user.Gender;
import com.enonic.cms.api.plugin.ext.userstore.UserFields;
import com.enonic.cms.core.AbstractEqualsTest;
public class UserFieldsEqualsTest
extends AbstractEqualsTest
{
@Test
public void testEquals()
{
assertEqualsContract();
}
public Object getObjectX()
{
UserFields userFieldsA1 = new UserFields();
userFieldsA1.setFirstName( "First name" );
userFieldsA1.setLastName( "Last name" );
Address address0 = new Address();
address0.setLabel( "Home" );
address0.setStreet( "Street" );
address0.setPostalCode( "0001" );
address0.setPostalAddress( "My City" );
address0.setRegion( "My Region" );
address0.setCountry( "My Country" );
address0.setIsoRegion( "My ISO Region" );
address0.setIsoCountry( "My ISO Country" );
userFieldsA1.setAddresses( address0 );
return userFieldsA1;
}
public Object[] getObjectsThatNotEqualsX()
{
// only missing last name
UserFields userFieldsB1 = new UserFields();
userFieldsB1.setFirstName( "First name" );
Address addressA1 = new Address();
addressA1.setLabel( "Home" );
addressA1.setStreet( "Street" );
addressA1.setPostalCode( "0001" );
addressA1.setPostalAddress( "My City" );
addressA1.setRegion( "My Region" );
addressA1.setCountry( "My Country" );
addressA1.setIsoRegion( "My ISO Region" );
addressA1.setIsoCountry( "My ISO Country" );
userFieldsB1.setAddresses( addressA1 );
// only uequal first name
UserFields userFieldsC1 = new UserFields();
userFieldsC1.setFirstName( "Other first name" );
userFieldsC1.setLastName( "Last name" );
Address addressA2 = new Address();
addressA2.setLabel( "Home" );
addressA2.setStreet( "Street" );
addressA2.setPostalCode( "0001" );
addressA2.setPostalAddress( "My City" );
addressA2.setRegion( "My Region" );
addressA2.setCountry( "My Country" );
addressA2.setIsoRegion( "My ISO Region" );
addressA2.setIsoCountry( "My ISO Country" );
userFieldsC1.setAddresses( addressA2 );
// only unequal postal code
UserFields userFieldsD1 = new UserFields();
userFieldsD1.setFirstName( "First name" );
userFieldsD1.setLastName( "Last name" );
Address addressB1 = new Address();
addressB1.setLabel( "Home" );
addressB1.setStreet( "Street" );
addressB1.setPostalCode( "0002" );
addressB1.setPostalAddress( "My City" );
addressB1.setRegion( "My Region" );
addressB1.setCountry( "My Country" );
addressB1.setIsoRegion( "My ISO Region" );
addressB1.setIsoCountry( "My ISO Country" );
userFieldsD1.setAddresses( addressB1 );
// only having extra field
UserFields userFieldsE1 = new UserFields();
userFieldsE1.setFirstName( "First name" );
userFieldsE1.setLastName( "Last name" );
userFieldsE1.setGender( Gender.FEMALE );
Address addressA3 = new Address();
addressA3.setLabel( "Home" );
addressA3.setStreet( "Street" );
addressA3.setPostalCode( "0001" );
addressA3.setPostalAddress( "My City" );
addressA3.setRegion( "My Region" );
addressA3.setCountry( "My Country" );
addressA3.setIsoRegion( "My ISO Region" );
addressA3.setIsoCountry( "My ISO Country" );
userFieldsB1.setAddresses( addressA3 );
return new Object[]{userFieldsB1, userFieldsC1, userFieldsD1};
}
public Object getObjectThatEqualsXButNotTheSame()
{
UserFields userFieldsA2 = new UserFields();
userFieldsA2.setFirstName( "First name" );
userFieldsA2.setLastName( "Last name" );
Address addressA1 = new Address();
addressA1.setLabel( "Home" );
addressA1.setStreet( "Street" );
addressA1.setPostalCode( "0001" );
addressA1.setPostalAddress( "My City" );
addressA1.setRegion( "My Region" );
addressA1.setCountry( "My Country" );
addressA1.setIsoRegion( "My ISO Region" );
addressA1.setIsoCountry( "My ISO Country" );
userFieldsA2.setAddresses( addressA1 );
return userFieldsA2;
}
public Object getObjectThatEqualsXButNotTheSame2()
{
UserFields userFieldsA3 = new UserFields();
userFieldsA3.setFirstName( "First name" );
userFieldsA3.setLastName( "Last name" );
Address addressA1 = new Address();
addressA1.setLabel( "Home" );
addressA1.setStreet( "Street" );
addressA1.setPostalCode( "0001" );
addressA1.setPostalAddress( "My City" );
addressA1.setRegion( "My Region" );
addressA1.setCountry( "My Country" );
addressA1.setIsoRegion( "My ISO Region" );
addressA1.setIsoCountry( "My ISO Country" );
userFieldsA3.setAddresses( addressA1 );
return userFieldsA3;
}
}