#!!! TethysL file automatically generated from RegressionTests/testAddAngularDegrees.xml.

mission test {
  test_code {{{
    # Set passed to true because there are no post-run tests.
    # If a crtical syslog is encountered in the code below, the test will fail.
    passed = True
  }}}

  """
  Test adding two angular values.
  """

  arguments {
    SearchBearing = 270 angular_degree
      """
      Bearing to swim searching for front.
      """

    ReturnBearing = NaN angular_degree
      """
      (INTERNAL VARIABLE) Bearing to swim after passing front on inbound leg.
      """
  }

  syslog important "Search bearing: " + SearchBearing~angular_degree
  assign in sequence ReturnBearing = SearchBearing + -180 angular_degree
  syslog important "Calculated return bearing: " + ReturnBearing~angular_degree

  aggregate {
    run in sequence

    break if ( ReturnBearing == 90 angular_degree )

    syslog critical "ReturnBearing is not 90"
  }

  assign in sequence ReturnBearing = SearchBearing - -180 angular_degree
  syslog important "Calculated return bearing: " + ReturnBearing~angular_degree

  aggregate {
    run in sequence

    break if ( ReturnBearing == 450 angular_degree )

    syslog critical "ReturnBearing is not 450"
  }

  assign in sequence ReturnBearing = SearchBearing - 180 angular_degree
  syslog important "Calculated return bearing: " + ReturnBearing~angular_degree

  aggregate {
    run in sequence

    break if ( ReturnBearing == 90 angular_degree )

    syslog critical "ReturnBearing is not 90"
  }

  assign in sequence ReturnBearing = SearchBearing - SearchBearing
  syslog important "Calculated return bearing: " + ReturnBearing~angular_degree

  aggregate {
    run in sequence

    break if ( ReturnBearing == 0 angular_degree )

    syslog critical "ReturnBearing is not 0"
  }
}
