import static org.testng.Assert.fail;
import jalview.datamodel.PDBEntry.Type;
+import jalview.gui.JvOptionPane;
//import org.testng.Assert;
import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class PDBEntryTest
{
+ @BeforeClass(alwaysRun = true)
+ public void setUpJvOptionPane()
+ {
+ JvOptionPane.setInteractiveMode(false);
+ JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+ }
+
@BeforeMethod(alwaysRun = true)
public void setUp() throws Exception
{
PDBEntry case9 = new PDBEntry("1xyz", "A", null, "x/y/z/File");
// different file only
PDBEntry case10 = new PDBEntry("1xyz", "A", null, "a/b/c/File");
-
+
/*
* assertEquals will invoke PDBEntry.equals()
*/
assertTrue(pdb1.updateFrom(pdb2));
assertEquals(pdb1.getFile(), "filePath");
assertEquals(pdb1.getType(), Type.FILE.toString());
-
+ assertEquals(pdb1.getChainCode(),"B");
/*
* change of file is not allowed
*/
pdb2.setProperty("hello", "moon");
assertTrue(pdb1.updateFrom(pdb2));
assertEquals(pdb1.getProperty("hello"), "moon");
+
+ /*
+ * different id but authoritative
+ */
+ pdb1 = new PDBEntry("af:1xyz", "A", null, "a/b/c/File");
+ pdb2 = new PDBEntry("af-1xyz", "A", null, "a/b/c/File");
+ pdb1.setAuthoritative(true);
+
+ assertTrue(pdb1.isAuthoritative());
+ assertFalse(pdb2.isAuthoritative());
+ // can update pdb1 (authoritative) from pdb2 (non-authoritative)
+ assertTrue(pdb1.updateFrom(pdb2));
+ // but the ID must remain the same
+ assertEquals(pdb1.getId(),"af:1xyz");
+
}
@Test(groups = { "Functional" })