package com.trywildcard.pair.model.creator;
import com.trywildcard.pair.exception.CardBuilderException;
import com.trywildcard.pair.util.DummyCreator;
import org.junit.Before;
import org.junit.Test;
import java.net.MalformedURLException;
import java.text.ParseException;
import static org.junit.Assert.assertEquals;
/**
* Created by cmcewen on 2/2/15.
*/
public class CreatorBuilderValidationTest {
DummyCreator dummyCreator;
CreatorBuilder builder;
@Before
public void setUp() throws ParseException, CardBuilderException, MalformedURLException {
dummyCreator = new DummyCreator();
builder = new CreatorBuilder(dummyCreator.name, dummyCreator.favicon);
}
@Test
public void isValidWithAttributes(){
assertEquals(0,builder.getErrors().size());
}
@Test(expected = CardBuilderException.class)
public void isInvalidWithEmptyNameString() throws CardBuilderException {
Creator creator = new CreatorBuilder("", dummyCreator.favicon).build();
}
@Test(expected = CardBuilderException.class)
public void isInvalidWithEmptyFavicon() throws CardBuilderException {
Creator creator = new CreatorBuilder(dummyCreator.name, "").build();
}
@Test(expected = CardBuilderException.class)
public void isInvalidWithEmptyNameAndFavicon() throws CardBuilderException {
Creator creator = new CreatorBuilder("", "").build();
}
@Test
public void hasErrorForNullIosAppStoreUrl (){
assertEquals("Errors size should match", 0, builder.getErrors().size());
builder.iosAppStoreUrl(null);
assertEquals("Errors size should match", 1, builder.getErrors().size());
}
@Test
public void hasErrorForNullAndroidAppStoreUrl (){
assertEquals("Errors size should match", 0, builder.getErrors().size());
builder.androidAppStoreUrl(null);
assertEquals("Errors size should match", 1, builder.getErrors().size());
}
@Test
public void hasErrorForNullUrl() throws CardBuilderException {
assertEquals("Errors size should match", 0, builder.getErrors().size());
builder.url(null);
assertEquals("Errors size should match", 1, builder.getErrors().size());
}
}