1*3a22c0a3SAlix /* 2*3a22c0a3SAlix * * Copyright 2022 Google LLC. All rights reserved. 3*3a22c0a3SAlix * 4*3a22c0a3SAlix * Licensed under the Apache License, Version 2.0 (the License); 5*3a22c0a3SAlix * you may not use this file except in compliance with the License. 6*3a22c0a3SAlix * You may obtain a copy of the License at 7*3a22c0a3SAlix * 8*3a22c0a3SAlix * http://www.apache.org/licenses/LICENSE-2.0 9*3a22c0a3SAlix * 10*3a22c0a3SAlix * Unless required by applicable law or agreed to in writing, software 11*3a22c0a3SAlix * distributed under the License is distributed on an "AS IS" BASIS, 12*3a22c0a3SAlix * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*3a22c0a3SAlix * See the License for the specific language governing permissions and 14*3a22c0a3SAlix * limitations under the License. 15*3a22c0a3SAlix */ 16*3a22c0a3SAlix 17*3a22c0a3SAlix package srcartifacts 18*3a22c0a3SAlix 19*3a22c0a3SAlix import com.google.common.truth.Truth.assertThat 20*3a22c0a3SAlix import java.nio.charset.StandardCharsets 21*3a22c0a3SAlix import org.junit.Test 22*3a22c0a3SAlix import org.junit.runner.RunWith 23*3a22c0a3SAlix import org.junit.runners.JUnit4 24*3a22c0a3SAlix 25*3a22c0a3SAlix interface SrcArtifact { getAllSrcArtifactsnull26*3a22c0a3SAlix fun getAllSrcArtifacts(): Set<Class<out SrcArtifact>> 27*3a22c0a3SAlix } 28*3a22c0a3SAlix 29*3a22c0a3SAlix @RunWith(JUnit4::class) 30*3a22c0a3SAlix class SrcArtifactsTest { 31*3a22c0a3SAlix 32*3a22c0a3SAlix @Test 33*3a22c0a3SAlix fun allSrcArtifactsInterop() { 34*3a22c0a3SAlix val allSrcArtifacts = 35*3a22c0a3SAlix setOf( 36*3a22c0a3SAlix JavaInJavaDir::class.java, 37*3a22c0a3SAlix JavaSrc::class.java, 38*3a22c0a3SAlix JavaSrcjar::class.java, 39*3a22c0a3SAlix KtInKotlinDir::class.java, 40*3a22c0a3SAlix KtSrc::class.java, 41*3a22c0a3SAlix ) 42*3a22c0a3SAlix 43*3a22c0a3SAlix for (artifact in allSrcArtifacts) { 44*3a22c0a3SAlix val instance = artifact.getDeclaredConstructor().newInstance() 45*3a22c0a3SAlix assertThat(instance.getAllSrcArtifacts()).isEqualTo(allSrcArtifacts) 46*3a22c0a3SAlix } 47*3a22c0a3SAlix } 48*3a22c0a3SAlix 49*3a22c0a3SAlix @Test 50*3a22c0a3SAlix fun resourceFileContent() { 51*3a22c0a3SAlix val fileContent = 52*3a22c0a3SAlix javaClass.classLoader 53*3a22c0a3SAlix .getResourceAsStream("resources/resources_in_resources_dir.txt") 54*3a22c0a3SAlix .use { it.readAllBytes() } 55*3a22c0a3SAlix .toString(StandardCharsets.UTF_8) 56*3a22c0a3SAlix assertThat(fileContent).isEqualTo("Test resource content.\n") 57*3a22c0a3SAlix } 58*3a22c0a3SAlix } 59