X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fstructure%2FAtomSpecTest.java;fp=test%2Fjalview%2Fstructure%2FAtomSpecTest.java;h=ea53131c7cb30bdb089f8b7b80955d65ea086f8b;hb=d5bcc3830eab04e6db816e1c2ad8fce1dc189612;hp=0000000000000000000000000000000000000000;hpb=3ebdd4e28382e38a181aae1eed71549f603f9025;p=jalview.git diff --git a/test/jalview/structure/AtomSpecTest.java b/test/jalview/structure/AtomSpecTest.java new file mode 100644 index 0000000..ea53131 --- /dev/null +++ b/test/jalview/structure/AtomSpecTest.java @@ -0,0 +1,74 @@ +package jalview.structure; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNull; +import static org.testng.Assert.fail; + +import org.testng.annotations.Test; + +public class AtomSpecTest +{ + @Test + public void testFromChimeraAtomSpec() + { + AtomSpec as = AtomSpec.fromChimeraAtomspec("#1:12.B"); + assertEquals(as.getModelNumber(), 1); + assertEquals(as.getPdbResNum(), 12); + assertEquals(as.getChain(), "B"); + assertNull(as.getPdbFile()); + + // no model - default to zero + as = AtomSpec.fromChimeraAtomspec(":13.C"); + assertEquals(as.getModelNumber(), 0); + assertEquals(as.getPdbResNum(), 13); + assertEquals(as.getChain(), "C"); + assertNull(as.getPdbFile()); + + // model.submodel + as = AtomSpec.fromChimeraAtomspec("#3.2:15"); + assertEquals(as.getModelNumber(), 3); + assertEquals(as.getPdbResNum(), 15); + assertEquals(as.getChain(), ""); + assertNull(as.getPdbFile()); + + String spec = "3:12.B"; + try + { + as = AtomSpec.fromChimeraAtomspec(spec); + fail("Expected exception for " + spec); + } catch (IllegalArgumentException e) + { + // ok + } + + spec = "#3:12-14.B"; + try + { + as = AtomSpec.fromChimeraAtomspec(spec); + fail("Expected exception for " + spec); + } catch (IllegalArgumentException e) + { + // ok + } + + spec = ""; + try + { + as = AtomSpec.fromChimeraAtomspec(spec); + fail("Expected exception for " + spec); + } catch (IllegalArgumentException e) + { + // ok + } + + spec = null; + try + { + as = AtomSpec.fromChimeraAtomspec(spec); + fail("Expected exception for " + spec); + } catch (NullPointerException e) + { + // ok + } + } +}