accounting-lib/src/test/java/org/gcube/accounting/datamodel/RawUsageRecordTest.java

62 lines
2.0 KiB
Java

/**
*
*/
package org.gcube.accounting.datamodel;
import org.gcube.accounting.persistence.Persistence;
import org.junit.Assert;
import org.junit.Test;
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
*
*/
public class RawUsageRecordTest {
@Test
public void testCompareToSameObject(){
UsageRecord usageRecord = Persistence.createTestUsageRecord();
UsageRecord ur = usageRecord;
Assert.assertEquals(0, usageRecord.compareTo(ur));
Assert.assertEquals(0, ur.compareTo(usageRecord));
}
@Test
public void testCompareToEqualsObject() throws Exception {
UsageRecord usageRecord = Persistence.createTestUsageRecord();
UsageRecord ur = BasicUsageRecord.getUsageRecord(usageRecord.getResourceProperties());
Assert.assertEquals(0, usageRecord.compareTo(ur));
Assert.assertEquals(0, ur.compareTo(usageRecord));
}
@Test
public void testCompareToComparedAddedProperty() throws Exception {
UsageRecord usageRecord = Persistence.createTestUsageRecord();
UsageRecord ur = BasicUsageRecord.getUsageRecord(usageRecord.getResourceProperties());
for(int i=1; i<31; i++){
ur.setResourceProperty(Integer.toString(i), i);
Assert.assertEquals(-i, usageRecord.compareTo(ur));
Assert.assertEquals(i, ur.compareTo(usageRecord));
}
}
@Test
public void testCompareToDifferentForAddedProperties() throws Exception {
UsageRecord usageRecord = Persistence.createTestUsageRecord();
UsageRecord ur = BasicUsageRecord.getUsageRecord(usageRecord.getResourceProperties());
usageRecord.setResourceProperty(Integer.toString(1), 2);
ur.setResourceProperty(Integer.toString(2), 2);
Assert.assertEquals(1, usageRecord.compareTo(ur));
Assert.assertEquals(1, ur.compareTo(usageRecord));
}
@Test
public void testCompareToDifferentFromCreation() throws Exception {
UsageRecord usageRecord = Persistence.createTestUsageRecord();
UsageRecord ur = Persistence.createTestUsageRecord();
Assert.assertEquals(1, usageRecord.compareTo(ur));
Assert.assertEquals(1, ur.compareTo(usageRecord));
}
}