Project

General

Profile

Download (3.79 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2009 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.model.molecular;
10

    
11
import static org.junit.Assert.assertNotNull;
12
import static org.junit.Assert.assertNotSame;
13
import static org.junit.Assert.assertTrue;
14

    
15
import java.net.URISyntaxException;
16

    
17
import org.apache.log4j.Logger;
18
import org.junit.Before;
19
import org.junit.Test;
20

    
21
import eu.etaxonomy.cdm.model.common.Language;
22
import eu.etaxonomy.cdm.model.common.LanguageString;
23
import eu.etaxonomy.cdm.model.media.Media;
24
import eu.etaxonomy.cdm.model.term.DefinedTerm;
25
import eu.etaxonomy.cdm.test.unit.EntityTestBase;
26

    
27
public class MolecularTest extends EntityTestBase {
28

    
29
    @SuppressWarnings("unused")
30
	private static Logger logger = Logger.getLogger(MolecularTest.class);
31

    
32
	private DnaSample dnaSample;
33
	private DefinedTerm marker;
34
	private PhylogeneticTree phyloTree;
35
	private Sequence seq;
36

    
37
	@Before
38
	public void setUp() throws Exception {
39
		dnaSample = DnaSample.NewInstance();
40
		seq = new Sequence();
41

    
42
//		seq.setBarcode(true);
43
		seq.getConsensusSequence().setString("ATTGCCATC");
44

    
45
		seq.setGeneticAccessionNumber("HM347273");
46
//		seq.setGenBankUri(URI.create("http://www.abc.de"));
47
		Media chromatogram = Media.NewInstance();
48
		chromatogram.putTitle(LanguageString.NewInstance("chromatogram", Language.ENGLISH()));
49
//		seq.addChromatogram(chromatogram);
50

    
51
		Sequence otherSeq = Sequence.NewInstance("CATCGAGTTGC");
52

    
53
		otherSeq.getBarcodeSequencePart().setString("ATTGCC");
54
		dnaSample.addSequence(seq);
55
		dnaSample.addSequence(otherSeq);
56

    
57
		marker = DefinedTerm.NewDnaMarkerInstance("Test", "test marker", null);
58

    
59
		phyloTree = PhylogeneticTree.NewInstance();
60
		phyloTree.addUsedSequences(seq);
61
		phyloTree.addUsedSequences(otherSeq);
62
	}
63

    
64
/* ************************** TESTS **********************************************************/
65

    
66
	@Test
67
	public void testClone() throws URISyntaxException{
68

    
69
		PhylogeneticTree phyloTreeClone = phyloTree.clone();
70
		assertTrue(phyloTreeClone.getUsedSequences().size() == 2);
71

    
72
		assertNotSame(phyloTreeClone.getUsedSequences().iterator().next(), phyloTree.getUsedSequences().iterator().next());
73

    
74
		Sequence sequenceClone = seq.clone();
75
//		assertEquals(sequenceClone.getChromatograms().iterator().next().getAllTitles().get(0),seq.getChromatograms().iterator().next().getAllTitles().get(0));
76
//
77
//		Iterator<Media> mediaIteratorClone = sequenceClone.getChromatograms().iterator();
78
//		Iterator<Media> mediaIterator = seq.getChromatograms().iterator();
79
//		Media test = (Media)mediaIterator.next();
80
//		LanguageString title = test.getTitle(Language.ENGLISH());
81
//		test = (Media)mediaIteratorClone.next();
82
//		LanguageString titleClone = test.getTitle(Language.ENGLISH());
83
//		assertEquals(title, titleClone);
84

    
85
		assertTrue (sequenceClone.getGeneticAccessionNumber().equals(seq.getGeneticAccessionNumber()));
86
		assertNotNull(sequenceClone.getGenBankUri());
87
		assertTrue (sequenceClone.getGenBankUri().equals(seq.getGenBankUri()));
88

    
89
		DnaSample dnaSampleClone = dnaSample.clone();
90
		Sequence[] seqArray = new Sequence[dnaSample.getSequences().size()];
91
		seqArray = dnaSample.getSequences().toArray(seqArray);
92
		Sequence[] seqArrayClone = dnaSampleClone.getSequences().toArray(seqArray);
93
		boolean testBool = true;
94
		for (Sequence seqTest: seqArray){
95
			if (testBool == false) {
96
                break;
97
            }
98
			testBool = false;
99
			for (Sequence seq: seqArrayClone){
100
				if (seq.equals(seqTest)) {
101
					testBool = true;
102
					break;
103
				} else {
104
                    testBool = false;
105
                }
106
			}
107
		}
108
		assertTrue(testBool);
109
	}
110
}
(2-2/2)