/* * BioJava development code * * This code may be freely distributed and modified under the * terms of the GNU Lesser General Public Licence. This should * be distributed with the code. If you do not have a copy, * see: * * http://www.gnu.org/copyleft/lesser.html * * Copyright for this code is held jointly by the individual * authors. These should be listed in @author doc comments. * * For more information on the BioJava project and its aims, * or to join the biojava-l mailing list, visit the home page * at: * * http://www.biojava.org/ * */ package org.biojava.nbio.sequencing.io.fastq; import junit.framework.TestCase; import java.lang.reflect.Field; import java.lang.reflect.Modifier; /** * Unit test for Fastq. */ public final class FastqTest extends TestCase { public void testConstructor() { Fastq fastq = new Fastq("description", "sequence", "quality_", FastqVariant.FASTQ_SANGER); assertNotNull(fastq); try { new Fastq(null, "sequence", "quality_", FastqVariant.FASTQ_SANGER); fail("ctr(null description) expected IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected } try { new Fastq("description", null, "quality_", FastqVariant.FASTQ_SANGER); fail("ctr(null sequence) expected IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected } try { new Fastq("description", "sequence", null, FastqVariant.FASTQ_SANGER); fail("ctr(null quality) expected IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected } try { new Fastq("description", "sequence", "quality_", null); fail("ctr(null variant) expected IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected } } public void testDescription() { Fastq fastq = new Fastq("description", "sequence", "quality_", FastqVariant.FASTQ_SANGER); assertTrue(fastq.getDescription() != null); assertEquals("description", fastq.getDescription()); } public void testSequence() { Fastq fastq = new Fastq("description", "sequence", "quality_", FastqVariant.FASTQ_SANGER); assertTrue(fastq.getSequence() != null); assertEquals("sequence", fastq.getSequence()); } public void testQuality() { Fastq fastq = new Fastq("description", "sequence", "quality_", FastqVariant.FASTQ_SANGER); assertTrue(fastq.getQuality() != null); assertEquals("quality_", fastq.getQuality()); } public void testVariant() { Fastq fastq = new Fastq("description", "sequence", "quality_", FastqVariant.FASTQ_SANGER); assertTrue(fastq.getVariant() != null); assertEquals(FastqVariant.FASTQ_SANGER, fastq.getVariant()); } public void testBuilder() { assertNotNull(Fastq.builder()); } public void testEquals() { Fastq fastq0 = new Fastq("description", "sequence", "quality_", FastqVariant.FASTQ_SANGER); Fastq fastq1 = new Fastq("description", "sequence", "quality_", FastqVariant.FASTQ_SANGER); assertFalse(fastq0.equals(null)); assertFalse(fastq1.equals(null)); assertFalse(fastq0.equals(new Object())); assertFalse(fastq1.equals(new Object())); assertTrue(fastq0.equals(fastq0)); assertTrue(fastq1.equals(fastq1)); assertFalse(fastq0 == fastq1); assertFalse(fastq0.equals(fastq1)); assertFalse(fastq1.equals(fastq0)); } public void testHashCode() { Fastq fastq0 = new Fastq("description", "sequence", "quality_", FastqVariant.FASTQ_SANGER); Fastq fastq1 = new Fastq("description", "sequence", "quality_", FastqVariant.FASTQ_SANGER); assertEquals(fastq0.hashCode(), fastq0.hashCode()); assertEquals(fastq1.hashCode(), fastq1.hashCode()); if (fastq0.equals(fastq1)) { assertEquals(fastq0.hashCode(), fastq1.hashCode()); assertEquals(fastq1.hashCode(), fastq0.hashCode()); } if (fastq1.equals(fastq0)) { assertEquals(fastq0.hashCode(), fastq1.hashCode()); assertEquals(fastq1.hashCode(), fastq0.hashCode()); } } }