/* * Copyright 2012 James Moger * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.moxie.tests; import org.junit.Assert; import org.junit.Test; import org.moxie.Scope; public class ScopeTest extends Assert { @Test public void testClasspathScopes() { // compile classpath assertTrue(Scope.compile.includeOnClasspath(Scope.compile)); assertTrue(Scope.compile.includeOnClasspath(Scope.provided)); assertFalse(Scope.compile.includeOnClasspath(Scope.runtime)); assertFalse(Scope.compile.includeOnClasspath(Scope.test)); assertTrue(Scope.compile.includeOnClasspath(Scope.system)); assertFalse(Scope.compile.includeOnClasspath(Scope.site)); assertFalse(Scope.compile.includeOnClasspath(Scope.build)); // provided classpath (unused) assertTrue(Scope.provided.includeOnClasspath(Scope.compile)); assertTrue(Scope.provided.includeOnClasspath(Scope.provided)); assertFalse(Scope.provided.includeOnClasspath(Scope.runtime)); assertFalse(Scope.provided.includeOnClasspath(Scope.test)); assertTrue(Scope.provided.includeOnClasspath(Scope.system)); assertFalse(Scope.provided.includeOnClasspath(Scope.site)); assertFalse(Scope.provided.includeOnClasspath(Scope.build)); // runtime classpath assertTrue(Scope.runtime.includeOnClasspath(Scope.compile)); assertFalse(Scope.runtime.includeOnClasspath(Scope.provided)); assertTrue(Scope.runtime.includeOnClasspath(Scope.runtime)); assertFalse(Scope.runtime.includeOnClasspath(Scope.test)); assertTrue(Scope.runtime.includeOnClasspath(Scope.system)); assertFalse(Scope.runtime.includeOnClasspath(Scope.site)); assertFalse(Scope.runtime.includeOnClasspath(Scope.build)); // test classpath assertTrue(Scope.test.includeOnClasspath(Scope.compile)); assertTrue(Scope.test.includeOnClasspath(Scope.provided)); assertTrue(Scope.test.includeOnClasspath(Scope.runtime)); assertTrue(Scope.test.includeOnClasspath(Scope.test)); assertTrue(Scope.test.includeOnClasspath(Scope.system)); assertFalse(Scope.test.includeOnClasspath(Scope.site)); assertFalse(Scope.test.includeOnClasspath(Scope.build)); // build classpath assertFalse(Scope.build.includeOnClasspath(Scope.compile)); assertFalse(Scope.build.includeOnClasspath(Scope.provided)); assertFalse(Scope.build.includeOnClasspath(Scope.runtime)); assertFalse(Scope.build.includeOnClasspath(Scope.test)); assertFalse(Scope.build.includeOnClasspath(Scope.system)); assertFalse(Scope.build.includeOnClasspath(Scope.site)); assertTrue(Scope.build.includeOnClasspath(Scope.build)); // check nulls assertFalse(Scope.compile.includeOnClasspath(null)); assertFalse(Scope.provided.includeOnClasspath(null)); assertFalse(Scope.runtime.includeOnClasspath(null)); assertFalse(Scope.test.includeOnClasspath(null)); assertFalse(Scope.system.includeOnClasspath(null)); assertFalse(Scope.site.includeOnClasspath(null)); assertFalse(Scope.build.includeOnClasspath(null)); } @Test public void testTransitiveScopes() { // compile dependency assertEquals(Scope.compile, Scope.compile.getTransitiveScope(Scope.compile)); assertEquals(null, Scope.compile.getTransitiveScope(Scope.provided)); assertEquals(Scope.runtime, Scope.compile.getTransitiveScope(Scope.runtime)); assertEquals(null, Scope.compile.getTransitiveScope(Scope.test)); // provided dependency assertEquals(Scope.provided, Scope.provided.getTransitiveScope(Scope.compile)); assertEquals(null, Scope.provided.getTransitiveScope(Scope.provided)); assertEquals(Scope.provided, Scope.provided.getTransitiveScope(Scope.runtime)); assertEquals(null, Scope.provided.getTransitiveScope(Scope.test)); // runtime dependency assertEquals(Scope.runtime, Scope.runtime.getTransitiveScope(Scope.compile)); assertEquals(null, Scope.runtime.getTransitiveScope(Scope.provided)); assertEquals(Scope.runtime, Scope.runtime.getTransitiveScope(Scope.runtime)); assertEquals(null, Scope.runtime.getTransitiveScope(Scope.test)); // test dependency assertEquals(Scope.test, Scope.test.getTransitiveScope(Scope.compile)); assertEquals(null, Scope.test.getTransitiveScope(Scope.provided)); assertEquals(Scope.test, Scope.test.getTransitiveScope(Scope.runtime)); assertEquals(null, Scope.test.getTransitiveScope(Scope.test)); // system dependency, no transitives assertEquals(null, Scope.compile.getTransitiveScope(Scope.system)); assertEquals(null, Scope.provided.getTransitiveScope(Scope.system)); assertEquals(null, Scope.runtime.getTransitiveScope(Scope.system)); assertEquals(null, Scope.test.getTransitiveScope(Scope.system)); assertEquals(null, Scope.system.getTransitiveScope(Scope.compile)); assertEquals(null, Scope.system.getTransitiveScope(Scope.provided)); assertEquals(null, Scope.system.getTransitiveScope(Scope.runtime)); assertEquals(null, Scope.system.getTransitiveScope(Scope.test)); assertEquals(null, Scope.system.getTransitiveScope(Scope.system)); // build dependency assertEquals(null, Scope.compile.getTransitiveScope(Scope.build)); assertEquals(null, Scope.provided.getTransitiveScope(Scope.build)); assertEquals(null, Scope.runtime.getTransitiveScope(Scope.build)); assertEquals(null, Scope.test.getTransitiveScope(Scope.build)); assertEquals(Scope.build, Scope.build.getTransitiveScope(Scope.compile)); assertEquals(null, Scope.build.getTransitiveScope(Scope.provided)); assertEquals(null, Scope.build.getTransitiveScope(Scope.runtime)); assertEquals(null, Scope.build.getTransitiveScope(Scope.test)); // site dependency assertEquals(null, Scope.compile.getTransitiveScope(Scope.site)); assertEquals(null, Scope.provided.getTransitiveScope(Scope.site)); assertEquals(null, Scope.runtime.getTransitiveScope(Scope.site)); assertEquals(null, Scope.test.getTransitiveScope(Scope.site)); assertEquals(null, Scope.site.getTransitiveScope(Scope.compile)); assertEquals(null, Scope.site.getTransitiveScope(Scope.provided)); assertEquals(null, Scope.site.getTransitiveScope(Scope.runtime)); assertEquals(null, Scope.site.getTransitiveScope(Scope.test)); } }