Source:
public void testRemove_withSelector ( ) throws java.io.IOException , javax.xml.parsers.ParserConfigurationException , org.xml.sax.SAXException { java.lang.String higherPriority = "" + ( ( ( ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " xmlns:tools=\"http://schemas.android.com/tools\"\n" ) + " package=\"com.example.lib3\">\n" ) + "\n" ) + " <permission android:name=\"permissionOne\"" ) + " tools:node=\"remove\"" ) + " tools:selector=\"com.example.lib1\">\n" ) + " </permission>\n" ) + "\n" ) + "</manifest>" ) ; java.lang.String lowerPriorityOne = "" + ( ( ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " xmlns:tools=\"http://schemas.android.com/tools\"\n" ) + " package=\"com.example.lib1\">\n" ) + "\n" ) + " <permission android:name=\"permissionOne\"" ) + " android:protectionLevel=\"signature\">\n" ) + " </permission>\n" ) + "\n" ) + "</manifest>" ) ; java.lang.String lowerPriorityTwo = "" + ( ( ( ( ( ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " xmlns:tools=\"http://schemas.android.com/tools\"\n" ) + " package=\"com.example.lib2\">\n" ) + "\n" ) + " <permission android:name=\"permissionOne\"" ) + " android:protectionLevel=\"normal\">\n" ) + " </permission>\n" ) + " <permission android:name=\"permissionTwo\"" ) + " android:protectionLevel=\"normal\">\n" ) + " </permission>\n" ) + "\n" ) + "</manifest>" ) ; com.android.manifmerger.XmlDocument refDocument = com.android.manifmerger.TestUtils.xmlDocumentFromString ( new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "higherPriority" ) , higherPriority ) ; com.android.manifmerger.XmlDocument firstLibrary = com.android.manifmerger.TestUtils.xmlDocumentFromString ( new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "lowerPriorityOne" ) , lowerPriorityOne ) ; com.android.manifmerger.XmlDocument secondLibrary = com.android.manifmerger.TestUtils.xmlDocumentFromString ( new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "lowerPriorityTwo" ) , lowerPriorityTwo ) ; com.android.manifmerger.MergingReport.Builder mergingReportBuilder = new com.android.manifmerger.MergingReport.Builder ( new com.android.utils.StdLogger ( StdLogger.Level.VERBOSE ) ) ; com.google.common.base.Optional < com.android.manifmerger.XmlDocument > result = refDocument.merge ( firstLibrary , mergingReportBuilder ) ; assertTrue ( result.isPresent ( ) ) ; result = result.get ( ) . merge ( secondLibrary , mergingReportBuilder ) ; assertTrue ( result.isPresent ( ) ) ; com.google.common.collect.ImmutableList < com.android.manifmerger.XmlElement > mergeableElements = result.get ( ) . getRootNode ( ) . getMergeableElements ( ) ; assertEquals ( 2 , mergeableElements.size ( ) ) ; }

Target:
public void testRemove_withSelector ( ) throws java.io.IOException , javax.xml.parsers.ParserConfigurationException , org.xml.sax.SAXException { java.lang.String higherPriority = "" + ( ( ( ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " xmlns:tools=\"http://schemas.android.com/tools\"\n" ) + " package=\"com.example.lib3\">\n" ) + "\n" ) + " <permission android:name=\"permissionOne\"" ) + " tools:node=\"remove\"" ) + " tools:selector=\"com.example.lib1\">\n" ) + " </permission>\n" ) + "\n" ) + "</manifest>" ) ; java.lang.String lowerPriorityOne = "" + ( ( ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " xmlns:tools=\"http://schemas.android.com/tools\"\n" ) + " package=\"com.example.lib1\">\n" ) + "\n" ) + " <permission android:name=\"permissionOne\"" ) + " android:protectionLevel=\"signature\">\n" ) + " </permission>\n" ) + "\n" ) + "</manifest>" ) ; java.lang.String lowerPriorityTwo = "" + ( ( ( ( ( ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " xmlns:tools=\"http://schemas.android.com/tools\"\n" ) + " package=\"com.example.lib2\">\n" ) + "\n" ) + " <permission android:name=\"permissionOne\"" ) + " android:protectionLevel=\"normal\">\n" ) + " </permission>\n" ) + " <permission android:name=\"permissionTwo\"" ) + " android:protectionLevel=\"normal\">\n" ) + " </permission>\n" ) + "\n" ) + "</manifest>" ) ; com.android.manifmerger.KeyResolver < java.lang.String > keyResolver = ( ( com.android.manifmerger.KeyResolver < java.lang.String > ) ( org.mockito.Mockito.mock ( com.android.manifmerger.KeyResolver.class ) ) ) ; org.mockito.Mockito.when ( keyResolver.resolve ( org.mockito.Matchers.any ( java.lang.String.class ) ) ) . thenReturn ( "valid" ) ; com.android.manifmerger.XmlDocument refDocument = com.android.manifmerger.TestUtils.xmlDocumentFromString ( keyResolver , new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "higherPriority" ) , higherPriority ) ; com.android.manifmerger.XmlDocument firstLibrary = com.android.manifmerger.TestUtils.xmlDocumentFromString ( keyResolver , new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "lowerPriorityOne" ) , lowerPriorityOne ) ; com.android.manifmerger.XmlDocument secondLibrary = com.android.manifmerger.TestUtils.xmlDocumentFromString ( keyResolver , new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "lowerPriorityTwo" ) , lowerPriorityTwo ) ; com.android.manifmerger.MergingReport.Builder mergingReportBuilder = new com.android.manifmerger.MergingReport.Builder ( new com.android.utils.StdLogger ( StdLogger.Level.VERBOSE ) ) ; com.google.common.base.Optional < com.android.manifmerger.XmlDocument > result = refDocument.merge ( firstLibrary , mergingReportBuilder ) ; assertTrue ( result.isPresent ( ) ) ; result = result.get ( ) . merge ( secondLibrary , mergingReportBuilder ) ; assertTrue ( result.isPresent ( ) ) ; com.google.common.collect.ImmutableList < com.android.manifmerger.XmlElement > mergeableElements = result.get ( ) . getRootNode ( ) . getMergeableElements ( ) ; assertEquals ( 2 , mergeableElements.size ( ) ) ; }