test_class.declarator: temp = new TemporaryFolder()
test_class.modifier: @Rule
  	public
test_class.original_string: @Rule
  	public TemporaryFolder temp = new TemporaryFolder();
test_class.type: TemporaryFolder
test_class.var_name: temp
test_class.file: runelite-client/src/test/java/net/runelite/client/plugins/gpu/ShaderTest.java
test_class.identifier: ShaderTest
test_case.body: @Test
  	public void testShaders() throws Exception
  	{
  		String verifier = System.getProperty("glslang.path");
  		Assume.assumeFalse("glslang.path is not set", Strings.isNullOrEmpty(verifier));
  
  		Template[] templates = {
  			new Template()
  				.addInclude(GpuPlugin.class)
  				.add(key ->
  			{
  				if ("version_header".equals(key))
  				{
  					return GpuPlugin.WINDOWS_VERSION_HEADER;
  				}
  				return null;
  			}),
  		};
  
  		Shader[] shaders = {
  			GpuPlugin.PROGRAM,
  			GpuPlugin.COMPUTE_PROGRAM,
  			GpuPlugin.SMALL_COMPUTE_PROGRAM,
  			GpuPlugin.UNORDERED_COMPUTE_PROGRAM,
  			GpuPlugin.UI_PROGRAM,
  		};
  
  		for (Template t : templates)
  		{
  			for (Shader s : shaders)
  			{
  				verify(t, s);
  			}
  		}
  	}
test_case.class_method_signature: ShaderTest.testShaders()
test_case.full_signature: @Test public void testShaders()
test_case.identifier: testShaders
test_case.invocations: getProperty assumeFalse isNullOrEmpty add addInclude equals verify
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testShaders()
focal_class.declarator: units = new ArrayList<>()
focal_class.modifier: @VisibleForTesting
  	final
focal_class.original_string: @VisibleForTesting
  	final List<Unit> units = new ArrayList<>();
focal_class.type: List<Unit>
focal_class.var_name: units
focal_class.file: runelite-client/src/main/java/net/runelite/client/plugins/gpu/Shader.java
focal_class.identifier: Shader
focal_class.class_method_signature: Shader.Shader()
focal_class.full_signature: public  Shader()
focal_class.identifier: Shader
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  Shader()
focal_class.class_method_signature: Shader.add(int type, String name)
focal_class.full_signature: public Shader add(int type, String name)
focal_class.identifier: add
focal_class.modifiers: public
focal_class.parameters: (int type, String name)
focal_class.return: Shader
focal_class.signature: Shader add(int type, String name)
focal_class.class_method_signature: Shader.compile(GL4 gl, Template template)
focal_class.full_signature: public int compile(GL4 gl, Template template)
focal_class.identifier: compile
focal_class.modifiers: public
focal_class.parameters: (GL4 gl, Template template)
focal_class.return: int
focal_class.signature: int compile(GL4 gl, Template template)
focal_method.body: public Shader add(int type, String name)
  	{
  		units.add(new Unit(type, name));
  		return this;
  	}
focal_method.class_method_signature: Shader.add(int type, String name)
focal_method.full_signature: public Shader add(int type, String name)
focal_method.identifier: add
focal_method.invocations: add
focal_method.modifiers: public
focal_method.parameters: (int type, String name)
focal_method.return: Shader
focal_method.signature: Shader add(int type, String name)