1 // ***********************************************************************
2 // Copyright (c) 2011 Charlie Poole
4 // Permission is hereby granted, free of charge, to any person obtaining
5 // a copy of this software and associated documentation files (the
6 // "Software"), to deal in the Software without restriction, including
7 // without limitation the rights to use, copy, modify, merge, publish,
8 // distribute, sublicense, and/or sell copies of the Software, and to
9 // permit persons to whom the Software is furnished to do so, subject to
10 // the following conditions:
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 // ***********************************************************************
25 #define NUNIT_FRAMEWORK
29 namespace NUnit.Framework.Internal.Commands
32 /// The CommandStage enumeration represents the defined stages
33 /// of execution for a series of TestCommands. The int _values
34 /// of the enum are used to apply decorators in the proper
35 /// order. Lower _values are applied first and are therefore
36 /// "closer" to the actual test execution.
39 /// No CommandStage is defined for actual invocation of the test or
40 /// for creation of the context. Execution may be imagined as
41 /// proceeding from the bottom of the list upwards, with cleanup
42 /// after the test running in the opposite order.
44 public enum CommandStage
47 /// Use an application-defined default value.
51 // NOTE: The test is actually invoked here.
54 /// Make adjustments needed before and after running
55 /// the raw test - that is, after any SetUp has run
56 /// and before TearDown.
61 /// Run SetUp and TearDown for the test. This stage is used
62 /// internally by NUnit and should not normally appear
63 /// in user-defined decorators.
68 /// Make adjustments needed before and after running
69 /// the entire test - including SetUp and TearDown.
73 // Note: The context is created here and destroyed
74 // after the test has run.
77 // Create/Destroy Context
78 // Modify/Restore Context
79 // Create/Destroy fixture object
81 // Create/Destroy thread
82 // Modify overall result