HaloCore { @Keep @Api(1.3) @NonNull public HaloFramework framework() { return mFramework; } HaloCore(@NonNull HaloFramework framework,
                    @NonNull HaloManagerApi managerApi,
                    @NonNull HaloSessionManager sessionManager,
                    @Nullable Credentials credentials,
                    @Nullable List<TagCollector> tagCollectors); @Keep @Api(1.3) @NonNull HaloSessionManager sessionManager(); @Keep @Api(1.3) boolean debug(); @Keep @NonNull Credentials credentials(); @Keep @Api(1.3) void credentials(@NonNull Credentials credentials); @Keep @Api(1.3) void logout(); @Keep @Api(1.3) @NonNull String version(); @Keep @Api(1.3) void flushSession(); @Keep @Api(2.1) void haloAuthRecover(@NonNull AuthenticationRecover authenticationRecover); @Nullable @Keep @Api(2.1) AuthenticationRecover haloAuthRecover(); @Keep @Api(1.3) @NonNull HaloFramework framework(); @Keep @Api(2.0) @NonNull HaloManagerApi manager(); @Keep @Api(1.3) @NonNull List<TagCollector> tagCollectors(); @HaloServerVersion.VersionCheck int serverVersionCheck(); void serverVersionCheck(@Nullable HaloServerVersion version); @NonNull List<HaloSegmentationTag> segmentationTags(); @Keep @Api(1.3) boolean isVersionValid();  }
@Test public void thatCanCreateCore() { HaloCore core = HaloMock.createCore(Credentials.createClient("myClient", "myPass"), null); assertThat(core.framework()).isNotNull(); }