/*
* Copyright 2012 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.forge.test.roaster.model.common;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.jboss.forge.roaster.model.source.VisibilityScopedSource;
import org.junit.Before;
import org.junit.Test;
/**
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
public abstract class VisibilityTest
{
private VisibilityScopedSource<?> target;
public void setTarget(VisibilityScopedSource<?> target)
{
this.target = target;
}
@Before
public void reset() throws Exception
{
resetTests();
}
public abstract void resetTests() throws Exception;
@Test
public void testSetPublic() throws Exception
{
target.setPublic();
assertTrue(target.isPublic());
assertFalse(target.isPackagePrivate());
assertFalse(target.isPrivate());
assertFalse(target.isProtected());
}
@Test
public void testSetPrivate() throws Exception
{
target.setPrivate();
assertFalse(target.isPublic());
assertFalse(target.isPackagePrivate());
assertTrue(target.isPrivate());
assertFalse(target.isProtected());
}
@Test
public void testSetProtected() throws Exception
{
target.setProtected();
assertFalse(target.isPublic());
assertFalse(target.isPackagePrivate());
assertFalse(target.isPrivate());
assertTrue(target.isProtected());
}
@Test
public void testSetPackagePrivate() throws Exception
{
target.setPackagePrivate();
assertFalse(target.isPublic());
assertTrue(target.isPackagePrivate());
assertFalse(target.isPrivate());
assertFalse(target.isProtected());
}
}