/******************************************************************************* * Copyright (c) 2000, 2012 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * QNX Software Systems - Initial API and implementation *******************************************************************************/ package org.eclipse.cdt.core.model.tests; import junit.framework.TestCase; import junit.framework.TestSuite; import org.eclipse.cdt.core.model.Flags; import org.eclipse.cdt.internal.core.model.IConstants; /** * @author Peter Graves * * This is a very simple set of sanity tests for the flags class to make sure * there are no very silly problems in the class. It also verifies that there * is no overlap in the IConstants. */ public class FlagTests extends TestCase { int flags[]; /** * Constructor for FlagTests. * @param name */ public FlagTests(String name) { super(name); } /** * Sets up the test fixture. * * Called before every test case method. * * Example code test the packages in the project * "com.qnx.tools.ide.cdt.core" */ @Override protected void setUp() { flags=new int[15]; flags[0]=IConstants.AccPublic; flags[1]=IConstants.AccPrivate; flags[2]=IConstants.AccProtected; flags[3]=IConstants.AccStatic; flags[4]=IConstants.AccExtern; flags[5]=IConstants.AccInline; flags[6]=IConstants.AccVolatile; flags[7]=IConstants.AccRegister; flags[8]=IConstants.AccExplicit; flags[9]=IConstants.AccExport; flags[10]=IConstants.AccAbstract; flags[11]=IConstants.AccMutable; flags[12]=IConstants.AccAuto; flags[13]=IConstants.AccVirtual; flags[14]=IConstants.AccTypename; } /** * Tears down the test fixture. * * Called after every test case method. */ @Override protected void tearDown() { // release resources here and clean-up } public static TestSuite suite() { return new TestSuite(FlagTests.class); } public static void main (String[] args){ junit.textui.TestRunner.run(suite()); } public void testIsStatic() { int x; assertTrue("isStatic with a static", Flags.isStatic(IConstants.AccStatic)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccStatic) assertTrue("isStatic with a non-static", !Flags.isStatic(flags[x])); } } public void testIsAbstract() { int x; assertTrue("isAbstract with a abstract", Flags.isAbstract(IConstants.AccAbstract)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccAbstract) assertTrue("isAbstract with a non-abstract", !Flags.isAbstract(flags[x])); } } public void testIsExplicit() { int x; assertTrue("isExplicit with a explicit", Flags.isExplicit(IConstants.AccExplicit)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccExplicit) assertTrue("isExplicit with a non-explicit", !Flags.isExplicit(flags[x])); } } public void testIsExport() { int x; assertTrue("isExport with a Export", Flags.isExport(IConstants.AccExport)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccExport) assertTrue("isExport with a non-Export", !Flags.isExport(flags[x])); } } public void testIsExtern() { int x; assertTrue("isExtern with a Extern", Flags.isExtern(IConstants.AccExtern)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccExtern) assertTrue("isExtern with a non-Extern", !Flags.isExtern(flags[x])); } } public void testIsInline() { int x; assertTrue("isInline with a Inline", Flags.isInline(IConstants.AccInline)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccInline) assertTrue("isInline with a non-Inline", !Flags.isInline(flags[x])); } } public void testIsMutable() { int x; assertTrue("isMutable with a Mutable", Flags.isMutable(IConstants.AccMutable)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccMutable) assertTrue("isMutable with a non-Mutable", !Flags.isMutable(flags[x])); } } public void testIsPrivate() { int x; assertTrue("isPrivate with a Private", Flags.isPrivate(IConstants.AccPrivate)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccPrivate) assertTrue("isPrivate with a non-Private", !Flags.isPrivate(flags[x])); } } public void testIsPublic() { int x; assertTrue("isPublic with a Public", Flags.isPublic(IConstants.AccPublic)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccPublic) assertTrue("isPublic with a non-Public", !Flags.isPublic(flags[x])); } } public void testIsProtected() { int x; assertTrue("isProtected with a Protected", Flags.isProtected(IConstants.AccProtected)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccProtected) assertTrue("isProtected with a non-Protected", !Flags.isProtected(flags[x])); } } public void testIsRegister() { int x; assertTrue("isRegister with a Register", Flags.isRegister(IConstants.AccRegister)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccRegister) assertTrue("isRegister with a non-Register", !Flags.isRegister(flags[x])); } } public void testIsVirtual() { int x; assertTrue("isVirtual with a Virtual", Flags.isVirtual(IConstants.AccVirtual)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccVirtual) assertTrue("isVirtual with a non-Virtual", !Flags.isVirtual(flags[x])); } } public void testIsVolatile() { int x; assertTrue("isVolatile with a Volatile", Flags.isVolatile(IConstants.AccVolatile)); for (x=0;x<flags.length;x++) { if (flags[x]!=IConstants.AccVolatile) assertTrue("isVolatile with a non-Volatile", !Flags.isVolatile(flags[x])); } } }