< prev index next >

test/java/lang/reflect/Layer/LayerControllerTest.java

Print this page




  33 import java.lang.module.ModuleDescriptor;
  34 import java.lang.module.ModuleFinder;
  35 import java.lang.reflect.Layer;
  36 import java.lang.reflect.Module;
  37 import java.util.List;
  38 import java.util.Set;
  39 
  40 import org.testng.annotations.Test;
  41 import static org.testng.Assert.*;
  42 
  43 @Test
  44 public class LayerControllerTest {
  45 
  46     /**
  47      * Creates a Controller for a module layer containing modules m1 and m2.
  48      * Module m1 contains p1, reads java.base, does not export/open any package
  49      * Module m2 contains p2, reads java.base, does not export/open any package
  50      */
  51     private Layer.Controller createTestLayer() {
  52         ModuleDescriptor descriptor1
  53             = ModuleDescriptor.module("m1")
  54                 .contains("p1")
  55                 .requires("java.base")
  56                 .build();
  57 
  58         ModuleDescriptor descriptor2
  59             = ModuleDescriptor.module("m2")
  60                 .requires("java.base")
  61                 .contains("p2")
  62                 .build();
  63 
  64         ModuleFinder finder = ModuleUtils.finderOf(descriptor1, descriptor2);
  65         Layer bootLayer = Layer.boot();
  66 
  67         Configuration cf = bootLayer.configuration()
  68                 .resolveRequires(finder, ModuleFinder.of(), Set.of("m1", "m2"));
  69 
  70         ClassLoader scl = ClassLoader.getSystemClassLoader();
  71 
  72         Layer.Controller controller
  73                 = Layer.defineModulesWithOneLoader(cf, List.of(bootLayer), scl);
  74 
  75         Layer layer = controller.layer();
  76 
  77         assertTrue(layer.modules().size() == 2);
  78         assertTrue(layer.findModule("m1").isPresent());
  79         assertTrue(layer.findModule("m2").isPresent());
  80 
  81         return controller;
  82     }
  83 
  84     /**
  85      * Basic test of Layer.Controller to update modules m1 and m2 to read and
  86      * open packages to each other.
  87      */
  88     public void testBasic() {




  33 import java.lang.module.ModuleDescriptor;
  34 import java.lang.module.ModuleFinder;
  35 import java.lang.reflect.Layer;
  36 import java.lang.reflect.Module;
  37 import java.util.List;
  38 import java.util.Set;
  39 
  40 import org.testng.annotations.Test;
  41 import static org.testng.Assert.*;
  42 
  43 @Test
  44 public class LayerControllerTest {
  45 
  46     /**
  47      * Creates a Controller for a module layer containing modules m1 and m2.
  48      * Module m1 contains p1, reads java.base, does not export/open any package
  49      * Module m2 contains p2, reads java.base, does not export/open any package
  50      */
  51     private Layer.Controller createTestLayer() {
  52         ModuleDescriptor descriptor1
  53             = ModuleDescriptor.newModule("m1")
  54                 .packages(Set.of("p1"))
  55                 .requires("java.base")
  56                 .build();
  57 
  58         ModuleDescriptor descriptor2
  59             = ModuleDescriptor.newModule("m2")
  60                 .requires("java.base")
  61                 .packages(Set.of("p2"))
  62                 .build();
  63 
  64         ModuleFinder finder = ModuleUtils.finderOf(descriptor1, descriptor2);
  65         Layer bootLayer = Layer.boot();
  66 
  67         Configuration cf = bootLayer.configuration()
  68                 .resolve(finder, ModuleFinder.of(), Set.of("m1", "m2"));
  69 
  70         ClassLoader scl = ClassLoader.getSystemClassLoader();
  71 
  72         Layer.Controller controller
  73                 = Layer.defineModulesWithOneLoader(cf, List.of(bootLayer), scl);
  74 
  75         Layer layer = controller.layer();
  76 
  77         assertTrue(layer.modules().size() == 2);
  78         assertTrue(layer.findModule("m1").isPresent());
  79         assertTrue(layer.findModule("m2").isPresent());
  80 
  81         return controller;
  82     }
  83 
  84     /**
  85      * Basic test of Layer.Controller to update modules m1 and m2 to read and
  86      * open packages to each other.
  87      */
  88     public void testBasic() {


< prev index next >