Program: 76327
Project: 76327
Buggy source:
public void testThemeSearchAlgorithm() throws Exception {
  openDesign("String_Node_Str");
  table=(TableHandle)designHandle.findElement("String_Node_Str");
  label=(LabelHandle)designHandle.findElement("String_Node_Str");
  SharedStyleHandle RCS1=designHandle.findStyle("String_Node_Str");
  SharedStyleHandle RCS2=designHandle.findStyle("String_Node_Str");
  SharedStyleHandle RSS1=designHandle.findStyle("String_Node_Str");
  SharedStyleHandle RSS2=designHandle.findStyle("String_Node_Str");
  assertNotNull(table);
  assertNotNull(label);
  assertNotNull(RCS1);
  assertNotNull(RCS2);
  assertNotNull(RSS1);
  assertNotNull(RSS2);
  openLibrary(LibCInclTheme,true);
  libraryHandle.saveAs(getTempFolder() + "String_Node_Str" + INPUT_FOLDER+ "String_Node_Str"+ LibC1);
  StyleHandle LCS1=libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str");
  StyleHandle LCS2=libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str");
  StyleHandle LSS1=libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str");
  StyleHandle LSS2=libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str");
  assertNotNull(LCS1);
  assertNotNull(LCS2);
  assertNotNull(LSS1);
  assertNotNull(LSS2);
  designHandle.includeLibrary(LibC1,"String_Node_Str");
  designHandle.setThemeName("String_Node_Str");
  table.setStyleName("String_Node_Str");
  label.setStyleName("String_Node_Str");
  assertEquals("String_Node_Str",table.getStringProperty(Style.FONT_SIZE_PROP));
  assertEquals("String_Node_Str",label.getStringProperty(Style.BACKGROUND_COLOR_PROP));
  designHandle.getStyles().drop(RCS1);
  designHandle.getStyles().drop(RCS2);
  assertEquals("String_Node_Str",table.getStringProperty(Style.FONT_SIZE_PROP));
  assertEquals("String_Node_Str",label.getStringProperty(Style.BACKGROUND_COLOR_PROP));
  libraryHandle.findTheme("String_Node_Str").getStyles().drop(LCS1);
  libraryHandle.findTheme("String_Node_Str").getStyles().drop(LCS2);
  libraryHandle.save();
  openDesign("String_Node_Str");
  assertEquals("String_Node_Str",designHandle.findElement("String_Node_Str").getStringProperty(Style.FONT_SIZE_PROP));
  assertEquals("String_Node_Str",designHandle.findElement("String_Node_Str").getStringProperty(Style.BACKGROUND_COLOR_PROP));
  designHandle.findStyle("String_Node_Str").drop();
  designHandle.findStyle("String_Node_Str").drop();
  assertEquals("String_Node_Str",designHandle.findElement("String_Node_Str").getStringProperty(Style.FONT_SIZE_PROP));
  assertEquals("String_Node_Str",designHandle.findElement("String_Node_Str").getStringProperty(Style.BACKGROUND_COLOR_PROP));
  designHandle.save();
  openLibrary("String_Node_Str");
  libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str").drop();
  libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str").drop();
  libraryHandle.save();
  openDesign("String_Node_Str");
  assertEquals("String_Node_Str",designHandle.findElement("String_Node_Str").getStringProperty(Style.FONT_SIZE_PROP));
  assertNull(designHandle.findElement("String_Node_Str").getStringProperty(Style.BACKGROUND_COLOR_PROP));
  openLibrary("String_Node_Str");
  libraryHandle.findTheme("String_Node_Str").drop();
  assertNull(libraryHandle.findTheme("String_Node_Str"));
}

Fixed version (ground truth):
public void testThemeSearchAlgorithm() throws Exception {
  openDesign("String_Node_Str");
  table=(TableHandle)designHandle.findElement("String_Node_Str");
  label=(LabelHandle)designHandle.findElement("String_Node_Str");
  SharedStyleHandle RCS1=designHandle.findStyle("String_Node_Str");
  SharedStyleHandle RCS2=designHandle.findStyle("String_Node_Str");
  SharedStyleHandle RSS1=designHandle.findStyle("String_Node_Str");
  SharedStyleHandle RSS2=designHandle.findStyle("String_Node_Str");
  assertNotNull(table);
  assertNotNull(label);
  assertNotNull(RCS1);
  assertNotNull(RCS2);
  assertNotNull(RSS1);
  assertNotNull(RSS2);
  openLibrary(LibCInclTheme,true);
  libraryHandle.saveAs(getTempFolder() + "String_Node_Str" + INPUT_FOLDER+ "String_Node_Str"+ LibC1);
  StyleHandle LCS1=libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str");
  StyleHandle LCS2=libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str");
  StyleHandle LSS1=libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str");
  StyleHandle LSS2=libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str");
  assertNotNull(LCS1);
  assertNotNull(LCS2);
  assertNotNull(LSS1);
  assertNotNull(LSS2);
  designHandle.includeLibrary(LibC1,"String_Node_Str");
  designHandle.setThemeName("String_Node_Str");
  table.setStyleName("String_Node_Str");
  label.setStyleName("String_Node_Str");
  assertEquals("String_Node_Str",table.getStringProperty(Style.FONT_SIZE_PROP));
  assertEquals("String_Node_Str",label.getStringProperty(Style.BACKGROUND_COLOR_PROP));
  designHandle.getStyles().drop(RCS1);
  designHandle.getStyles().drop(RCS2);
  assertEquals("String_Node_Str",table.getStringProperty(Style.FONT_SIZE_PROP));
  assertEquals("String_Node_Str",label.getStringProperty(Style.BACKGROUND_COLOR_PROP));
  libraryHandle.findTheme("String_Node_Str").getStyles().drop(LCS1);
  libraryHandle.findTheme("String_Node_Str").getStyles().drop(LCS2);
  libraryHandle.save();
  openDesign("String_Node_Str");
  assertEquals("String_Node_Str",designHandle.findElement("String_Node_Str").getStringProperty(Style.FONT_SIZE_PROP));
  assertEquals("String_Node_Str",designHandle.findElement("String_Node_Str").getStringProperty(Style.BACKGROUND_COLOR_PROP));
  openLibrary("String_Node_Str");
  libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str").drop();
  libraryHandle.findTheme("String_Node_Str").findStyle("String_Node_Str").drop();
  libraryHandle.save();
  openDesign("String_Node_Str");
  assertEquals("String_Node_Str",designHandle.findElement("String_Node_Str").getStringProperty(Style.FONT_SIZE_PROP));
  assertNull(designHandle.findElement("String_Node_Str").getStringProperty(Style.BACKGROUND_COLOR_PROP));
  openLibrary("String_Node_Str");
  libraryHandle.findTheme("String_Node_Str").drop();
  assertNull(libraryHandle.findTheme("String_Node_Str"));
}