Source code (original) (raw)

001package org.w3.ldp.testsuite.annotations; 002 003import java.lang.annotation.Documented; 004import java.lang.annotation.Retention; 005import java.lang.annotation.RetentionPolicy; 006 007@Documented 008@Retention(RetentionPolicy.RUNTIME) 009public @interface SpecTest { 010 011 /** 012 * Describes the status of the Test Case 013 / 014 public static enum STATUS { 015 016 /* 017 * WG_PENDING (default) - no official recommendation from the WG 018 * supporting the specification being tested by this test suite. 019 / 020 WG_PENDING, 021 022 /* WG_APPROVED - working group has approved this test case / 023 WG_APPROVED, 024 025 /* WG_DEPRECATED - no longer recommended by WG / 026 WG_DEPRECATED, 027 028 /* 029 * WG_EXTENSION - valuable test case but not part of the WG approved set 030 / 031 WG_EXTENSION, 032 033 /* 034 * WG_CLARIFICATION - requires further clarification from the working group 035 / 036 WG_CLARIFICATION
037 } 038 039 ; 040 041 /
* 042 * The URI of the spec 043 / 044 public String specRefUri() default "No Specification URI"; 045 046 /* 047 * The status of the test case, pending or approved 048 / 049 public STATUS approval() default STATUS.WG_PENDING; 050 051 /* 052 * For reporting purposes, the way the Test Case has been implemented 053 / 054 public static enum METHOD { 055 /* NOT_IMPLEMENTED (default) - possible to implement, just not done / 056 NOT_IMPLEMENTED, 057 058 /* AUTOMATED - implementation complete / 059 AUTOMATED, 060 061 /* MANUAL - server test but not automated / 062 MANUAL, 063
064 /
* CLIENT_ONLY - test is only client-side, this test suite doesn't test it. / 065 CLIENT_ONLY, 066
067 /
* 068 * INDIRECT - other test cases indirectly cover this test case 069 / 070 INDIRECT 071 }; 072 073 /* 074 * Whether the test case itself has been implemented or not 075 / 076 public METHOD testMethod() default METHOD.NOT_IMPLEMENTED; 077 078 /* 079 * Whether further comment that can be useful 080 * The description property matches the spec requirement, 081 * the comment can be used to describe whether the test only 082 * covers part of the spec requirement 083 * ie) Shared specRefUri 084 / 085 public String comment() default ""; 086
087 /
* 088 * Steps needed to be taken to validate the test. For manual/client tests 089 * it specify the actions (step) what should be done to verify the result.
090 * For automation tests, it summarized what the automated test does. 091 * @return 092 / 093 public String[] steps() default {}; 094
095 /
* 096 * List out the test class that covers an indirect test. 097 / 098 public Class<?>[] coveredByTests() default {}; 099
100 /
* 101 * List out the group values that covers the indirect test. 102 */ 103 public String[] coveredByGroups() default {}; 104 105}