Test adding and removing entries

This commit is contained in:
Philipp Jahoda 2016-06-06 23:11:18 +02:00
parent 280101bafc
commit dc03cf2593
4 changed files with 78 additions and 40 deletions

View file

@ -110,7 +110,9 @@ public abstract class BaseDataSet<T extends Entry> implements IDataSet<T> {
return mColors;
}
public List<Integer> getValueColors() { return mValueColors; }
public List<Integer> getValueColors() {
return mValueColors;
}
@Override
public int getColor() {
@ -225,7 +227,9 @@ public abstract class BaseDataSet<T extends Entry> implements IDataSet<T> {
mColors = new ArrayList<Integer>();
}
/** ###### ###### OTHER STYLING RELATED METHODS ##### ###### */
/**
* ###### ###### OTHER STYLING RELATED METHODS ##### ######
*/
@Override
public void setLabel(String label) {
@ -335,7 +339,9 @@ public abstract class BaseDataSet<T extends Entry> implements IDataSet<T> {
}
/** ###### ###### DATA RELATED METHODS ###### ###### */
/**
* ###### ###### DATA RELATED METHODS ###### ######
*/
@Override
public int getIndexInEntries(int xIndex) {
@ -351,15 +357,23 @@ public abstract class BaseDataSet<T extends Entry> implements IDataSet<T> {
@Override
public boolean removeFirst() {
T entry = getEntryForIndex(0);
return removeEntry(entry);
if (getEntryCount() > 0) {
T entry = getEntryForIndex(0);
return removeEntry(entry);
} else
return false;
}
@Override
public boolean removeLast() {
T entry = getEntryForIndex(getEntryCount() - 1);
return removeEntry(entry);
if (getEntryCount() > 0) {
T e = getEntryForIndex(getEntryCount() - 1);
return removeEntry(e);
} else
return false;
}
@Override
@ -379,8 +393,8 @@ public abstract class BaseDataSet<T extends Entry> implements IDataSet<T> {
@Override
public boolean contains(T e) {
for(int i = 0; i < getEntryCount(); i++) {
if(getEntryForIndex(i).equals(e))
for (int i = 0; i < getEntryCount(); i++) {
if (getEntryForIndex(i).equals(e))
return true;
}

View file

@ -200,10 +200,9 @@ public abstract class DataSet<T extends Entry> extends BaseDataSet<T> {
if (mValues.size() > 0 && mValues.get(mValues.size() - 1).getX() > e.getX()) {
int closestIndex = getEntryIndex(e.getX(), Rounding.UP);
mValues.add(closestIndex, e);
return;
} else {
mValues.add(e);
}
mValues.add(e);
}
@Override
@ -322,20 +321,6 @@ public abstract class DataSet<T extends Entry> extends BaseDataSet<T> {
return Float.NaN;
}
@Override
public float[] getYValuesForXPos(float xVal) {
List<T> entries = getEntriesForXPos(xVal);
float[] yVals = new float[entries.size()];
int i = 0;
for (T e : entries)
yVals[i++] = e.getY();
return yVals;
}
/**
* Returns all Entry objects at the given xIndex. INFORMATION: This method
* does calculations at runtime. Do not over-use in performance critical

View file

@ -281,20 +281,6 @@ public abstract class RealmBaseDataSet<T extends RealmObject, S extends Entry> e
return Float.NaN;
}
@Override
public float[] getYValuesForXPos(float xVal) {
List<S> entries = getEntriesForXPos(xVal);
float[] yVals = new float[entries.size()];
int i = 0;
for (S e : entries)
yVals[i++] = e.getY();
return yVals;
}
@Override
public boolean addEntry(S e) {

View file

@ -10,6 +10,8 @@ import java.util.ArrayList;
import java.util.List;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
/**
* Created by philipp on 31/05/16.
@ -77,6 +79,57 @@ public class DataSetTest {
assertEquals(20, set.getEntryForIndex(3).getX(), 0.01f);
assertEquals(50, set.getEntryForIndex(3).getY(), 0.01f);
assertTrue(set.removeEntry(3));
assertEquals(4, set.getEntryCount());
assertEquals(21, set.getEntryForIndex(3).getX(), 0.01f);
assertEquals(5, set.getEntryForIndex(3).getY(), 0.01f);
assertEquals(5, set.getEntryForIndex(0).getX(), 0.01f);
assertEquals(1, set.getEntryForIndex(0).getY(), 0.01f);
assertTrue(set.removeFirst());
assertEquals(3, set.getEntryCount());
assertEquals(10, set.getEntryForIndex(0).getX(), 0.01f);
assertEquals(10, set.getEntryForIndex(0).getY(), 0.01f);
set.addEntryOrdered(new Entry(15, 3));
assertEquals(4, set.getEntryCount());
assertEquals(15, set.getEntryForIndex(1).getX(), 0.01f);
assertEquals(3, set.getEntryForIndex(1).getY(), 0.01f);
assertEquals(21, set.getEntryForIndex(3).getX(), 0.01f);
assertEquals(5, set.getEntryForIndex(3).getY(), 0.01f);
assertTrue(set.removeLast());
assertEquals(3, set.getEntryCount());
assertEquals(15, set.getEntryForIndex(2).getX(), 0.01f);
assertEquals(2, set.getEntryForIndex(2).getY(), 0.01f);
assertTrue(set.removeLast());
assertEquals(2, set.getEntryCount());
assertTrue(set.removeLast());
assertEquals(1, set.getEntryCount());
assertEquals(10, set.getEntryForIndex(0).getX(), 0.01f);
assertEquals(10, set.getEntryForIndex(0).getY(), 0.01f);
assertTrue(set.removeLast());
assertEquals(0, set.getEntryCount());
assertFalse(set.removeLast());
assertFalse(set.removeFirst());
}
@Test