102030405060708090100110120130140150160170180190200210220230240250260270280290300310320330340350360370380390400410420430440450460470480490500510 module trial.attributes; struct TestAttribute { string file; size_t line; } struct TestSetupAttribute { bool beforeAll; bool afterAll; bool beforeEach; bool afterEach; } TestAttribute Test(string file = __FILE__, size_t line = __LINE__) { return TestAttribute(file, line); } TestSetupAttribute BeforeEach() { return TestSetupAttribute(false, false, true, false); } TestSetupAttribute AfterEach() { return TestSetupAttribute(false, false, false, true); } TestSetupAttribute BeforeAll() { return TestSetupAttribute(true, false, false, false); } TestSetupAttribute AfterAll() { return TestSetupAttribute(false, true, false, false); }
module trial.attributes; struct TestAttribute { string file; size_t line; } struct TestSetupAttribute { bool beforeAll; bool afterAll; bool beforeEach; bool afterEach; } TestAttribute Test(string file = __FILE__, size_t line = __LINE__) { return TestAttribute(file, line); } TestSetupAttribute BeforeEach() { return TestSetupAttribute(false, false, true, false); } TestSetupAttribute AfterEach() { return TestSetupAttribute(false, false, false, true); } TestSetupAttribute BeforeAll() { return TestSetupAttribute(true, false, false, false); } TestSetupAttribute AfterAll() { return TestSetupAttribute(false, true, false, false); }