1
package org.hisp.dhis.dataelement;
4
* Copyright (c) 2004-2007, University of Oslo
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions are met:
9
* * Redistributions of source code must retain the above copyright notice, this
10
* list of conditions and the following disclaimer.
11
* * Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
* * Neither the name of the HISP project nor the names of its contributors may
15
* be used to endorse or promote products derived from this software without
16
* specific prior written permission.
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
import org.hisp.dhis.DhisConvenienceTest;
33
* @author Lars Helge Overland
36
public class DataElementDimensionRowOrderServiceTest
37
extends DhisConvenienceTest
39
private DataElementCategory categoryA;
40
private DataElementCategory categoryB;
42
private DataElementCategoryCombo categoryComboA;
43
private DataElementCategoryCombo categoryComboB;
45
// -------------------------------------------------------------------------
47
// -------------------------------------------------------------------------
50
public void setUpTest()
52
dimensionRowOrderService = (DataElementDimensionRowOrderService) getBean( DataElementDimensionRowOrderService.ID );
54
categoryComboService = (DataElementCategoryComboService) getBean( DataElementCategoryComboService.ID );
56
categoryService = (DataElementCategoryService) getBean( DataElementCategoryService.ID );
58
categoryA = new DataElementCategory( "CategoryA" );
59
categoryB = new DataElementCategory( "CategoryB" );
61
categoryService.addDataElementCategory( categoryA );
62
categoryService.addDataElementCategory( categoryB );
64
categoryComboA = new DataElementCategoryCombo( "CategoryComboA" );
65
categoryComboB = new DataElementCategoryCombo( "CategoryComboB" );
67
categoryComboService.addDataElementCategoryCombo( categoryComboA );
68
categoryComboService.addDataElementCategoryCombo( categoryComboB );
71
// -------------------------------------------------------------------------
73
// -------------------------------------------------------------------------
75
public void testAddGet()
77
DataElementDimensionRowOrder dimensionRowOrderA = new DataElementDimensionRowOrder( categoryComboA, categoryA, 1 );
78
DataElementDimensionRowOrder dimensionRowOrderB = new DataElementDimensionRowOrder( categoryComboA, categoryB, 1 );
79
DataElementDimensionRowOrder dimensionRowOrderC = new DataElementDimensionRowOrder( categoryComboB, categoryB, 1 );
81
dimensionRowOrderService.addDataElementDimensionRowOrder( dimensionRowOrderA );
82
dimensionRowOrderService.addDataElementDimensionRowOrder( dimensionRowOrderB );
83
dimensionRowOrderService.addDataElementDimensionRowOrder( dimensionRowOrderC );
85
assertEquals( dimensionRowOrderA, dimensionRowOrderService.getDataElementDimensionRowOrder( categoryComboA, categoryA ) );
86
assertEquals( dimensionRowOrderB, dimensionRowOrderService.getDataElementDimensionRowOrder( categoryComboA, categoryB ) );
87
assertEquals( dimensionRowOrderC, dimensionRowOrderService.getDataElementDimensionRowOrder( categoryComboB, categoryB ) );
90
public void testDeleteByCategoryCombo()
92
DataElementDimensionRowOrder dimensionRowOrderA = new DataElementDimensionRowOrder( categoryComboA, categoryA, 1 );
93
DataElementDimensionRowOrder dimensionRowOrderB = new DataElementDimensionRowOrder( categoryComboA, categoryB, 1 );
94
DataElementDimensionRowOrder dimensionRowOrderC = new DataElementDimensionRowOrder( categoryComboB, categoryB, 1 );
96
dimensionRowOrderService.addDataElementDimensionRowOrder( dimensionRowOrderA );
97
dimensionRowOrderService.addDataElementDimensionRowOrder( dimensionRowOrderB );
98
dimensionRowOrderService.addDataElementDimensionRowOrder( dimensionRowOrderC );
100
dimensionRowOrderService.deleteDataElementDimensionRowOrder( categoryComboA );
102
assertNull( dimensionRowOrderService.getDataElementDimensionRowOrder( categoryComboA, categoryA ) );
103
assertNull( dimensionRowOrderService.getDataElementDimensionRowOrder( categoryComboA, categoryB ) );
104
assertNotNull( dimensionRowOrderService.getDataElementDimensionRowOrder( categoryComboB, categoryB ) );
107
public void testDeleteByCategory()
109
DataElementDimensionRowOrder dimensionRowOrderA = new DataElementDimensionRowOrder( categoryComboA, categoryA, 1 );
110
DataElementDimensionRowOrder dimensionRowOrderB = new DataElementDimensionRowOrder( categoryComboA, categoryB, 1 );
111
DataElementDimensionRowOrder dimensionRowOrderC = new DataElementDimensionRowOrder( categoryComboB, categoryB, 1 );
113
dimensionRowOrderService.addDataElementDimensionRowOrder( dimensionRowOrderA );
114
dimensionRowOrderService.addDataElementDimensionRowOrder( dimensionRowOrderB );
115
dimensionRowOrderService.addDataElementDimensionRowOrder( dimensionRowOrderC );
117
dimensionRowOrderService.deleteDataElementDimensionRowOrder( categoryA );
119
assertNull( dimensionRowOrderService.getDataElementDimensionRowOrder( categoryComboA, categoryA ) );
120
assertNotNull( dimensionRowOrderService.getDataElementDimensionRowOrder( categoryComboA, categoryB ) );
121
assertNotNull( dimensionRowOrderService.getDataElementDimensionRowOrder( categoryComboB, categoryB ) );