![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/local/lib/node_modules/mediasoup/worker/deps/catch/projects/SelfTest/UsageTests/ |
Upload File : |
/* * Created by Phil on 29/11/2010. * Copyright 2010 Two Blue Cubes Ltd. All rights reserved. * * Distributed under the Boost Software License, Version 1.0. (See accompanying * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ #include "catch.hpp" namespace { namespace BDDTests { #ifndef BDD_TEST_HELPERS_INCLUDED // Don't compile this more than once per TU #define BDD_TEST_HELPERS_INCLUDED inline bool itDoesThis() { return true; } inline bool itDoesThat() { return true; } namespace { // a trivial fixture example to support SCENARIO_METHOD tests struct Fixture { Fixture() : d_counter(0) { } int counter() { return d_counter++; } int d_counter; }; } #endif SCENARIO("Do that thing with the thing", "[Tags]") { GIVEN("This stuff exists") { // make stuff exist AND_GIVEN("And some assumption") { // Validate assumption WHEN("I do this") { // do this THEN("it should do this") { REQUIRE(itDoesThis()); AND_THEN("do that")REQUIRE(itDoesThat()); } } } } } SCENARIO("Vector resizing affects size and capacity", "[vector][bdd][size][capacity]") { GIVEN("an empty vector") { std::vector<int> v; REQUIRE(v.size() == 0); WHEN("it is made larger") { v.resize(10); THEN("the size and capacity go up") { REQUIRE(v.size() == 10); REQUIRE(v.capacity() >= 10); AND_WHEN("it is made smaller again") { v.resize(5); THEN("the size goes down but the capacity stays the same") { REQUIRE(v.size() == 5); REQUIRE(v.capacity() >= 10); } } } } WHEN("we reserve more space") { v.reserve(10); THEN("The capacity is increased but the size remains the same") { REQUIRE(v.capacity() >= 10); REQUIRE(v.size() == 0); } } } } SCENARIO("This is a really long scenario name to see how the list command deals with wrapping", "[very long tags][lots][long][tags][verbose]" "[one very long tag name that should cause line wrapping writing out using the list command]" "[anotherReallyLongTagNameButThisOneHasNoObviousWrapPointsSoShouldSplitWithinAWordUsingADashCharacter]") { GIVEN("A section name that is so long that it cannot fit in a single console width")WHEN( "The test headers are printed as part of the normal running of the scenario")THEN( "The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent")SUCCEED( "boo!"); } SCENARIO_METHOD(Fixture, "BDD tests requiring Fixtures to provide commonly-accessed data or methods", "[bdd][fixtures]") { const int before(counter()); GIVEN("No operations precede me") { REQUIRE(before == 0); WHEN("We get the count") { const int after(counter()); THEN("Subsequently values are higher") { REQUIRE(after > before); } } } } }} // namespace BDDtests