@Test
public void testRecoveryApplicable() {

    final DatastoreContext persistentContext = DatastoreContext.newBuilder()
            .shardJournalRecoveryLogBatchSize(3).shardSnapshotBatchCount(5000).persistent(true).build();
    final Props persistentProps = Shard.builder().id(shardID).datastoreContext(persistentContext)
            .schemaContextProvider(() -> SCHEMA_CONTEXT).props();
    final DatastoreContext nonPersistentContext = DatastoreContext.newBuilder()
            .shardJournalRecoveryLogBatchSize(3).shardSnapshotBatchCount(5000).persistent(false).build();
    final Props nonPersistentProps = Shard.builder().id(shardID).datastoreContext(nonPersistentContext)
            .schemaContextProvider(() -> SCHEMA_CONTEXT).props();
    final TestActorRef<Shard> shard1 = actorFactory.createTestActor(persistentProps, "testPersistence1");
    assertTrue("Recovery Applicable", shard1.underlyingActor().persistence().isRecoveryApplicable());
    final TestActorRef<Shard> shard2 = actorFactory.createTestActor(nonPersistentProps, "testPersistence2");
    assertFalse("Recovery Not Applicable", shard2.underlyingActor().persistence().isRecoveryApplicable());
}