@UnstableApi
public class FakeDataSet

Known direct subclasses
FakeAdaptiveDataSet

Fake data set emulating the data of an adaptive media source.


Collection of FakeData to be served by a FakeDataSource.

Multiple fake data can be defined by setData and newData methods. It's also possible to define a default data by newDefaultData.

newData and newDefaultData return a instance which can be used to define specific results during read calls.

The data that will be read from the source can be constructed by calling appendReadData Calls to read 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 appendReadError. An inserted error will be thrown from the first call to read that attempts to read from the corresponding position, and from all subsequent calls to read 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 appendReadAction. 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();

Summary

Nested types

public final class FakeDataSet.FakeData

Container of fake data to be served by a FakeDataSource.

public final class FakeDataSet.FakeData.Segment

A segment of FakeData.

Public constructors

Public methods

ArrayList<FakeDataSet.FakeData>

Returns a list of all data including defaultData.

@Nullable FakeDataSet.FakeData

Returns the data for the given uri, or defaultData if no data is set.

@Nullable FakeDataSet.FakeData
getData(Uri uri)

Returns the data for the given uri, or defaultData if no data is set.

FakeDataSet.FakeData

Returns a new FakeData with the given uri.

FakeDataSet.FakeData
newData(Uri uri)

Returns a new FakeData with the given uri.

FakeDataSet.FakeData

Sets the default data, overwrites if there is one already.

FakeDataSet
setData(String uri, byte[] data)

Sets the given data for the given uri.

FakeDataSet
setData(Uri uri, byte[] data)

Sets the given data for the given uri.

FakeDataSet
setRandomData(String uri, int length)

Sets random data with the given length for the given uri.

FakeDataSet
setRandomData(Uri uri, int length)

Sets random data with the given length for the given uri.

Public constructors

FakeDataSet

public FakeDataSet()

Public methods

getAllData

public ArrayList<FakeDataSet.FakeDatagetAllData()

Returns a list of all data including defaultData.

getData

public @Nullable FakeDataSet.FakeData getData(String uri)

Returns the data for the given uri, or defaultData if no data is set.

getData

public @Nullable FakeDataSet.FakeData getData(Uri uri)

Returns the data for the given uri, or defaultData if no data is set.

newData

public FakeDataSet.FakeData newData(String uri)

Returns a new FakeData with the given uri.

newData

public FakeDataSet.FakeData newData(Uri uri)

Returns a new FakeData with the given uri.

newDefaultData

public FakeDataSet.FakeData newDefaultData()

Sets the default data, overwrites if there is one already.

setData

public FakeDataSet setData(String uri, byte[] data)

Sets the given data for the given uri.

setData

public FakeDataSet setData(Uri uri, byte[] data)

Sets the given data for the given uri.

setRandomData

public FakeDataSet setRandomData(String uri, int length)

Sets random data with the given length for the given uri.

setRandomData

public FakeDataSet setRandomData(Uri uri, int length)

Sets random data with the given length for the given uri.