FakeAdaptiveDataSetpublic class FakeDataSet extends Object
FakeDataSet.FakeData to be served by a FakeDataSource.
Multiple fake data can be defined by setData(Uri, byte[]) and newData(Uri) methods. It's also possible to define a default data by newDefaultData().
newData(Uri) and newDefaultData() return a FakeDataSet.FakeData instance which can be used to define specific results during
FakeDataSource.read(byte[], int, int) calls.
The data that will be read from the source can be constructed by calling FakeDataSet.FakeData.appendReadData(byte[]) Calls to FakeDataSource.read(byte[], int, int) will not
span the boundaries between arrays passed to successive calls, and hence the boundaries control
the positions at which read requests to the source may only be partially satisfied.
Errors can be inserted by calling FakeDataSet.FakeData.appendReadError(IOException). An inserted
error will be thrown from the first call to FakeDataSource.read(byte[], int, int) that
attempts to read from the corresponding position, and from all subsequent calls to
FakeDataSource.read(byte[], int, int) until the source is closed. If the source is closed
and re-opened having encountered an error, that error will not be thrown again.
Actions are inserted by calling FakeDataSet.FakeData.appendReadAction(Runnable). An actions is
triggered when the reading reaches action's position. This can be used to make sure the code is
in a certain state while testing.
Example usage:
// Create a FakeDataSource then add default data and two FakeData
// "test_file" throws an IOException when tried to be read until closed and reopened.
FakeDataSource fakeDataSource = new FakeDataSource();
fakeDataSource.getDataSet()
.newDefaultData()
.appendReadData(defaultData)
.endData()
.setData("http://1", data1)
.newData("test_file")
.appendReadError(new IOException())
.appendReadData(data2)
.endData();
| Modifier and Type | Class | Description |
|---|---|---|
static class |
FakeDataSet.FakeData |
Container of fake data to be served by a
FakeDataSource. |
| Constructor | Description |
|---|---|
FakeDataSet() |
| Modifier and Type | Method | Description |
|---|---|---|
ArrayList<FakeDataSet.FakeData> |
getAllData() |
Returns a list of all data including
defaultData. |
FakeDataSet.FakeData |
getData(Uri uri) |
Returns the data for the given
uri, or defaultData if no data is set. |
FakeDataSet.FakeData |
getData(String uri) |
Returns the data for the given
uri, or defaultData if no data is set. |
FakeDataSet.FakeData |
newData(Uri uri) |
Returns a new
FakeDataSet.FakeData with the given uri. |
FakeDataSet.FakeData |
newData(String uri) |
Returns a new
FakeDataSet.FakeData with the given uri. |
FakeDataSet.FakeData |
newDefaultData() |
Sets the default data, overwrites if there is one already.
|
FakeDataSet |
setData(Uri uri,
byte[] data) |
Sets the given
data for the given uri. |
FakeDataSet |
setData(String uri,
byte[] data) |
Sets the given
data for the given uri. |
FakeDataSet |
setRandomData(Uri uri,
int length) |
Sets random data with the given
length for the given uri. |
FakeDataSet |
setRandomData(String uri,
int length) |
Sets random data with the given
length for the given uri. |
public FakeDataSet.FakeData newDefaultData()
public FakeDataSet setRandomData(String uri, int length)
length for the given uri.public FakeDataSet setRandomData(Uri uri, int length)
length for the given uri.public FakeDataSet setData(String uri, byte[] data)
data for the given uri.public FakeDataSet setData(Uri uri, byte[] data)
data for the given uri.public FakeDataSet.FakeData newData(String uri)
FakeDataSet.FakeData with the given uri.public FakeDataSet.FakeData newData(Uri uri)
FakeDataSet.FakeData with the given uri.@Nullable public FakeDataSet.FakeData getData(String uri)
uri, or defaultData if no data is set.@Nullable public FakeDataSet.FakeData getData(Uri uri)
uri, or defaultData if no data is set.public ArrayList<FakeDataSet.FakeData> getAllData()
defaultData.