@Test
public void testBaseEvent_track_safely() {

    final TrackHelper.BaseEvent badTrackMe = new TrackHelper.BaseEvent(null) {
        @Override
        public TrackMe build() {
            throw new IllegalArgumentException();
        }
    };
    assertThat(badTrackMe.safelyWith(mTracker), is(false));
    assertThat(badTrackMe.safelyWith(mMatomoApplication), is(false));
    verify(mTracker, never()).track(any(TrackMe.class));
    final TrackHelper.BaseEvent goodTrackMe = new TrackHelper.BaseEvent(null) {
        @Override
        public TrackMe build() {
            return new TrackMe();
        }
    };
    assertThat(goodTrackMe.safelyWith(mTracker), is(true));
    verify(mTracker, times(1)).track(any(TrackMe.class));
    assertThat(goodTrackMe.safelyWith(mMatomoApplication), is(true));
    verify(mTracker, times(2)).track(any(TrackMe.class));
}