Project

General

Profile

Download (3.96 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.BeforeClass;
20
import org.junit.Test;
21

    
22
import eu.etaxonomy.cdm.model.common.Language;
23
import eu.etaxonomy.cdm.model.common.LanguageString;
24
import eu.etaxonomy.cdm.model.media.Media;
25
import eu.etaxonomy.cdm.model.term.DefaultTermInitializer;
26
import eu.etaxonomy.cdm.model.term.DefinedTerm;
27

    
28

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

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

    
38
	@BeforeClass
39
	public static void setUpBeforeClass() {
40
		DefaultTermInitializer vocabularyStore = new DefaultTermInitializer();
41
		vocabularyStore.initialize();
42
	}
43

    
44
	@Before
45
	public void setUp() throws Exception {
46
		dnaSample = DnaSample.NewInstance();
47
		seq = new Sequence();
48

    
49
//		seq.setBarcode(true);
50
		seq.getConsensusSequence().setString("ATTGCCATC");
51

    
52
		seq.setGeneticAccessionNumber("HM347273");
53
//		seq.setGenBankUri(URI.create("http://www.abc.de"));
54
		Media chromatogram = Media.NewInstance();
55
		chromatogram.putTitle(LanguageString.NewInstance("chromatogram", Language.ENGLISH()));
56
//		seq.addChromatogram(chromatogram);
57

    
58
		Sequence otherSeq = Sequence.NewInstance("CATCGAGTTGC");
59

    
60
		otherSeq.getBarcodeSequencePart().setString("ATTGCC");
61
		dnaSample.addSequence(seq);
62
		dnaSample.addSequence(otherSeq);
63

    
64
		marker = DefinedTerm.NewDnaMarkerInstance("Test", "test marker", null);
65

    
66
		phyloTree = PhylogeneticTree.NewInstance();
67
		phyloTree.addUsedSequences(seq);
68
		phyloTree.addUsedSequences(otherSeq);
69
	}
70

    
71
/* ************************** TESTS **********************************************************/
72

    
73
	@Test
74
	public void testClone() throws URISyntaxException{
75

    
76
		PhylogeneticTree phyloTreeClone = phyloTree.clone();
77
		assertTrue(phyloTreeClone.getUsedSequences().size() == 2);
78

    
79
		assertNotSame(phyloTreeClone.getUsedSequences().iterator().next(), phyloTree.getUsedSequences().iterator().next());
80

    
81
		Sequence sequenceClone = seq.clone();
82
//		assertEquals(sequenceClone.getChromatograms().iterator().next().getAllTitles().get(0),seq.getChromatograms().iterator().next().getAllTitles().get(0));
83
//
84
//		Iterator<Media> mediaIteratorClone = sequenceClone.getChromatograms().iterator();
85
//		Iterator<Media> mediaIterator = seq.getChromatograms().iterator();
86
//		Media test = (Media)mediaIterator.next();
87
//		LanguageString title = test.getTitle(Language.ENGLISH());
88
//		test = (Media)mediaIteratorClone.next();
89
//		LanguageString titleClone = test.getTitle(Language.ENGLISH());
90
//		assertEquals(title, titleClone);
91

    
92
		assertTrue (sequenceClone.getGeneticAccessionNumber().equals(seq.getGeneticAccessionNumber()));
93
		assertNotNull(sequenceClone.getGenBankUri());
94
		assertTrue (sequenceClone.getGenBankUri().equals(seq.getGenBankUri()));
95

    
96
		DnaSample dnaSampleClone = dnaSample.clone();
97
		Sequence[] seqArray = new Sequence[dnaSample.getSequences().size()];
98
		seqArray = dnaSample.getSequences().toArray(seqArray);
99
		Sequence[] seqArrayClone = dnaSampleClone.getSequences().toArray(seqArray);
100
		boolean testBool = true;
101
		for (Sequence seqTest: seqArray){
102
			if (testBool == false) {
103
                break;
104
            }
105
			testBool = false;
106
			for (Sequence seq: seqArrayClone){
107
				if (seq.equals(seqTest)) {
108
					testBool = true;
109
					break;
110
				} else {
111
                    testBool = false;
112
                }
113
			}
114
		}
115
		assertTrue(testBool);
116
	}
117
}
(2-2/2)