# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

flexunit.test = Annotates a method as a FlexUnit 4 test.
flexunit.runwith = Used to specify a custom runner for a FlexUnit 4 test case. Custom runners must implement the IRunner interface.
flexunit.suite = Annotates a class as a FlexUnit 4 suite. This class also needs to be decorated with the [RunWith(org.flexunit.runners.Suite")] metadata.
flexunit.before = Annotates that a method should be run before every test in this test case.
flexunit.after = Annotates that a method should be run after every test in this test case.
flexunit.beforeclass = Annotates that a method should be run before any tests are executed in this test case.
flexunit.afterclass = Annotates that a method should be run after any tests are executed in this test case.
flexunit.ignore = A test or class decorated with this metadata will not be run and marked as an ignored test during test execution.
flexunit.theory = Specifies a type of test which uses parameters to test a repeatable, mathematical theory.
flexunit.parameters = Used as a part of parameterized testing to specify what array contains parameters for this method.
flexunit.datapoints = Used to specify an array of parameters to be used as part of a theory or parameterized test. A variable decorated with [DataPoints] metadata must also be decorated with [ArrayElementType] specifying the type of the values within the array.
flexunit.datapoint = Specifies a single data point to use with a theory.
flexunit.expects = Used to decorate a test which expects an error to be thrown. The value of this attribute must match the full class package definition of the expected error.
flexunit.order = Notifies the runner of operations that must be handled in a specific order. Operations of the same type are handled in ascending order.
flexunit.description = Generally used to explain the use of a test.
flexunit.timeout = Used with the async annotation to specify a time in milliseconds before a test waiting on an async operation should be marked as a failure.
flexunit.async = Signifies that a test needs to wait for an asynchronous operation. Forces the test to wait until the operation completes. Failing to specify a timeout will cause the runner to hang indefinitely in the case of a failure.
flexunit.ui = Notifies the runner that this operation requires UI interaction. Most ui methods are also asynchronous and should be decorated with the async tag as well.
flexunit.loader = Used to specify a loader for external data. Loaders must implement the IExternalDepedencyLoader interface.
flexunit.dataProvider = Used to specify an array containing the data for a parameterized test.