def METHOD_NAME(self):
    """ Ideally you should have several levels of tests.  At the lowest level
    tests should exercise the functionality of the logic with different inputs
    (both valid and invalid).  At higher levels your tests should emulate the
    way the user would interact with your code and confirm that it still works
    the way you intended.
    One of the most important features of the tests is that it should alert other
    developers when their changes will have an impact on the behavior of your
    module.  For example, if a developer removes a feature that you depend on,
    your test should break so they know that the feature is needed.
    """
    logic = SlicerOrientationSelectorTestLogic()
    self.delayDisplay("Starting the test")
    import SampleData
    mrHeadVolume = SampleData.downloadSample("MRHead")
    slicer.util.selectModule('Reformat')
    # Select Red slice
    widget = slicer.modules.reformat.widgetRepresentation()
    sliceNodeSelector = slicer.util.findChildren(widget, "SliceNodeSelector")[0]
    sliceNodeSelector.setCurrentNodeID("vtkMRMLSliceNodeRed")
    # Set RotateZ slider value using Reformat module
    rotateZSlider = slicer.util.findChildren(widget, "RotateZSlider")[0]
    rotateZSlider.value = 1
    # Get reference to the Red slice controller
    lm = slicer.app.layoutManager()
    sliceWidget = lm.sliceWidget("Red")
    sliceOrientationSelector = slicer.util.findChildren(sliceWidget, "SliceOrientationSelector")[0]
    # Check orientations associated with orientations selector
    orientations = [sliceOrientationSelector.itemText(idx) for idx in range(sliceOrientationSelector.count)]
    expectedOrientations = ['Axial', 'Sagittal', 'Coronal', 'Reformat']
    if orientations != expectedOrientations:
        raise Exception(f'Problem with orientation selector\norientations: {orientations}\nexpectedOrientations: {expectedOrientations}')
    self.delayDisplay('Test passed!')