source: trunk/test/integration/nl/tno/metagenomics/AssaySampleTests.groovy @ 32

Last change on this file since 32 was 32, checked in by robert@…, 8 years ago
File size: 2.7 KB
Line 
1package nl.tno.massSequencing
2
3import grails.test.*
4import org.codehaus.groovy.grails.commons.ConfigurationHolder
5
6class AssaySampleTests extends GroovyTestCase {
7    protected void setUp() {
8        super.setUp()
9    }
10
11    protected void tearDown() {
12        super.tearDown()
13    }
14
15        void testContainsData() {
16                Assay a1 = new Assay(assayToken: "abc1", name: "Assay 1"); a1.save( flush: true );
17                Sample s1 = new Sample(sampleToken: "sam1", name: "Sample 1"); s1.save(flush: true );
18                Sample s2 = new Sample(sampleToken: "sam2", name: "Sample 1"); s2.save(flush: true );
19                Sample s3 = new Sample(sampleToken: "sam3", name: "Sample 1"); s3.save(flush: true );
20
21                AssaySample as1 = new AssaySample()
22               
23                s1.addToAssaySamples(as1);
24                a1.addToAssaySamples(as1);
25               
26                as1.save()
27               
28                // Initially the AS is empty
29                assert !as1.containsData();
30               
31                as1.fwMidSeq = "abc";
32                assert as1.containsData();
33
34                as1.fwMidSeq = "";
35                as1.fwMidName = "test";
36                assert as1.containsData();
37
38                as1.fwMidName = "";
39                as1.fwOligo = "test";
40                assert as1.containsData();
41               
42                as1.fwOligo = "";
43                assert !as1.containsData();
44
45                SequenceData sd1 = new SequenceData( sequenceFile: "test.fna" );
46                sd1.save();
47                as1.addToSequenceData( sd1 );
48               
49                as1.save();
50               
51                assert as1.containsData();
52               
53                as1.fwMidSeq = "test"
54               
55                assert as1.containsData();
56        }
57       
58        void testMoveValuableData() {
59                ConfigurationHolder.config = [ massSequencing : [ 
60                        fileDir: '/home/robert/temp'
61                ]];
62               
63                Assay a1 = new Assay(assayToken: "abc1", name: "Assay 1"); a1.save();
64                Sample s1 = new Sample(sampleToken: "sam1", name: "Sample 1"); s1.save();
65                Sample s2 = new Sample(sampleToken: "sam2", name: "Sample 1"); s2.save();
66                Sample s3 = new Sample(sampleToken: "sam3", name: "Sample 1"); s3.save();
67
68                AssaySample as1 = new AssaySample( assay: a1, sample: s1 )
69                AssaySample as2 = new AssaySample( assay: a1, sample: s2 )
70               
71                s1.addToAssaySamples(as1)
72                a1.addToAssaySamples(as1)
73               
74                s2.addToAssaySamples(as2)
75                a1.addToAssaySamples(as2)
76
77                as1.save(); as2.save()
78               
79                assert !as1.containsData();
80                assert !as2.containsData();
81               
82                as1.fwMidSeq = "abc";
83                as1.fwMidName = "test";
84                as1.fwOligo = "o101";
85
86                SequenceData sd1 = new SequenceData( sequenceFile: "test.fna" );
87                sd1.save();
88                as1.addToSequenceData( sd1 );
89                as1.save();
90
91                assert as1.containsData();
92                assert !as2.containsData();
93               
94                as1.moveValuableDataTo(as2);
95               
96                // Now the state of as1 is undefined. Data might or might not be in there. However,
97                // the sequencedata should be moved anyway
98                assert !as1.sequenceData || as1.sequenceData.size() == 0
99                assert as2.containsData();
100                assert as2.fwMidSeq == "abc";
101                assert as2.fwMidName == "test";
102                assert as2.fwOligo == "o101";
103                assert as2.sequenceData?.size() == 1
104                assert as2.sequenceData*.sequenceFile.contains( "test.fna" );
105        }
106}
Note: See TracBrowser for help on using the repository browser.