@Test
  public void shouldTransitionToMenuTreeOnceFourDayRecallTreeIsPlayed() {
    tamaIVRContext.callState(CallState.AUTHENTICATED);
    when(allPatients.get(null))
        .thenReturn(
            PatientBuilder.startRecording()
                .withDefaults()
                .withCallPreference(CallPreference.FourDayRecall)
                .build());
    tamaIVRContext.addLastCompletedTreeToListOfCompletedTrees(TAMATreeRegistry.FOUR_DAY_RECALL);
    tamaIVRContext.callDirection(CallDirection.Outbound);

    assertEquals(
        TAMATreeRegistry.MENU_TREE, tamaCallFlowController.decisionTreeName(kooKooIVRContext));
  }
  @Test
  public void shouldNotRepeatOutboxCallTreeMoreThanOnceDuringOutboxCall() {
    tamaIVRContext.callState(CallState.AUTHENTICATED);
    when(allPatients.get(null))
        .thenReturn(
            PatientBuilder.startRecording()
                .withDefaults()
                .withCallPreference(CallPreference.DailyPillReminder)
                .build());
    tamaIVRContext.addLastCompletedTreeToListOfCompletedTrees(TAMATreeRegistry.OUTBOX_CALL);
    tamaIVRContext.callDirection(CallDirection.Outbound);

    assertEquals(
        TAMATreeRegistry.MENU_TREE, tamaCallFlowController.decisionTreeName(kooKooIVRContext));
  }
  @Test
  public void shouldNotTransitionToCurrentDosageReminderTreeIsPlayed_AndUserEntersWillTakeLater() {
    tamaIVRContext.callState(CallState.AUTHENTICATED);
    when(allPatients.get(null))
        .thenReturn(
            PatientBuilder.startRecording()
                .withDefaults()
                .withCallPreference(CallPreference.DailyPillReminder)
                .build());
    tamaIVRContext.addLastCompletedTreeToListOfCompletedTrees(
        TAMATreeRegistry.CURRENT_DOSAGE_REMINDER);
    tamaIVRContext.callDirection(CallDirection.Outbound);

    assertEquals(
        TAMATreeRegistry.MENU_TREE, tamaCallFlowController.decisionTreeName(kooKooIVRContext));
  }