/* * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.datamodel; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertNotEquals; import static org.testng.Assert.assertNull; //import org.testng.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class PDBEntryTest { @BeforeMethod(alwaysRun = true) public void setUp() throws Exception { } @AfterMethod(alwaysRun = true) public void tearDown() throws Exception { } @Test(groups = { "Functional" }) public void testEquals() { PDBEntry pdbEntry = new PDBEntry("1xyz", "A", PDBEntry.Type.PDB, "x/y/z/File"); PDBEntry case1 = new PDBEntry("1XYZ", "A", PDBEntry.Type.PDB, "x/y/z/File"); PDBEntry case2 = new PDBEntry("1xyz", "a", PDBEntry.Type.PDB, "x/y/z/File"); PDBEntry case3 = new PDBEntry("1xyz", "A", PDBEntry.Type.FILE, "x/y/z/File"); PDBEntry case4 = new PDBEntry(null, null, null, null); PDBEntry case5 = new PDBEntry(null, "A", PDBEntry.Type.PDB, "x/y/z/File"); PDBEntry case6 = new PDBEntry("1xyz", null, PDBEntry.Type.PDB, "x/y/z/File"); PDBEntry case7 = new PDBEntry("1xyz", "A", null, "x/y/z/File"); PDBEntry case8 = new PDBEntry("1xyz", "A", PDBEntry.Type.PDB, null); PDBEntry case9 = new PDBEntry("1xyz", "A", null, "x/y/z/File"); /* * assertions will invoke PDBEntry.equals() */ assertFalse(pdbEntry.equals(null)); assertFalse(pdbEntry.equals("a")); assertEquals(case1, pdbEntry); assertEquals(case2, pdbEntry); assertNotEquals(case3, pdbEntry); assertNotEquals(case4, pdbEntry); assertNotEquals(case5, pdbEntry); assertNotEquals(case6, pdbEntry); assertNotEquals(case7, pdbEntry); assertEquals(case8, pdbEntry); assertEquals(case7, case9); /* * change string wrapper property to string... */ case1.setProperty("chain_code", "a"); assertFalse(pdbEntry.equals(case1)); assertFalse(case1.equals(pdbEntry)); } @Test(groups = { "Functional" }) public void testSetChainCode() { PDBEntry pdbEntry = new PDBEntry("1xyz", null, PDBEntry.Type.PDB, "x/y/z/File"); assertNull(pdbEntry.getChainCode()); pdbEntry.setChainCode("a"); assertEquals("a", pdbEntry.getChainCode()); pdbEntry.setChainCode(null); assertNull(pdbEntry.getChainCode()); } }