package org.jboss.seam.ui.test;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import org.jboss.seam.ui.converter.AtomicBooleanConverter;
import org.testng.annotations.Test;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
/**
* @author Dennis Byrne
*/
public class AtomicBooleanConverterTest
{
@Test
public void testGetAsObject()
{
Converter converter = new AtomicBooleanConverter();
assertNull(converter.getAsObject(null, null, null));
assertNull(converter.getAsObject(null, null, ""));
assertNull(converter.getAsObject(null, null, " "));
assertTrue(((AtomicBoolean) converter.getAsObject(null, null, "true")).get());
assertTrue(((AtomicBoolean) converter.getAsObject(null, null, "true ")).get());
assertTrue(((AtomicBoolean) converter.getAsObject(null, null, " true")).get());
assertFalse(((AtomicBoolean) converter.getAsObject(null, null, "false")).get());
assertFalse(((AtomicBoolean) converter.getAsObject(null, null, "false ")).get());
assertFalse(((AtomicBoolean) converter.getAsObject(null, null, " false")).get());
assertFalse(((AtomicBoolean) converter.getAsObject(null, null, " boom ")).get());
}
@Test
public void testGetAsString()
{
Converter converter = new AtomicBooleanConverter();
assertEquals("", converter.getAsString(null, null, null));
assertEquals("", converter.getAsString(null, null, ""));
assertEquals("true", converter.getAsString(null, null, new AtomicBoolean(true)));
assertEquals("false", converter.getAsString(null, null, new AtomicBoolean(false)));
try
{
converter.getAsString(null, null, new Boolean(true));
fail();
}
catch (ConverterException c) {}
}
}