fixed the range based example
better examples
diff --git a/examples/subcases_and_bdd/main.cpp b/examples/subcases_and_bdd/main.cpp
new file mode 100644
index 0000000..1cf4b3b
--- /dev/null
+++ b/examples/subcases_and_bdd/main.cpp
@@ -0,0 +1,70 @@
+#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+#include "doctest.h"
+
+#include <iostream>
+#include <vector>
+using namespace std;
+
+TEST_CASE("lots of nested subcases") {
+ cout << endl << "root" << endl;
+ SUBCASE("") {
+ cout << "1" << endl;
+ SUBCASE("") { cout << "1.1" << endl; }
+ }
+ SUBCASE("") {
+ cout << "2" << endl;
+ SUBCASE("") { cout << "2.1" << endl; }
+ SUBCASE("") {
+ cout << "2.2" << endl;
+ SUBCASE("") {
+ cout << "2.2.1" << endl;
+ SUBCASE("") { cout << "2.2.1.1" << endl; }
+ SUBCASE("") { cout << "2.2.1.2" << endl; }
+ }
+ }
+ SUBCASE("") { cout << "2.3" << endl; }
+ SUBCASE("") { cout << "2.4" << endl; }
+ }
+}
+
+SCENARIO("vectors can be sized and resized") {
+ GIVEN("A vector with some items") {
+ std::vector<int> v(5);
+
+ REQUIRE(v.size() == 5u);
+ REQUIRE(v.capacity() >= 5u);
+
+ WHEN("the size is increased") {
+ v.resize(10u);
+
+ THEN("the size and capacity change") {
+ CHECK(v.size() == 20u);
+ CHECK(v.capacity() >= 10u);
+ }
+ }
+ WHEN("the size is reduced") {
+ v.resize(0);
+
+ THEN("the size changes but not capacity") {
+ CHECK(v.size() == 0u);
+ CHECK(v.capacity() >= 5u);
+ }
+ }
+ WHEN("more capacity is reserved") {
+ v.reserve(10);
+
+ THEN("the capacity changes but not the size") {
+ CHECK(v.size() == 5u);
+ CHECK(v.capacity() >= 10u);
+ }
+ }
+ WHEN("less capacity is reserved") {
+ v.reserve(0);
+
+ THEN("neither size nor capacity are changed") {
+ CHECK(v.size() == 10u);
+ CHECK(v.capacity() >= 5u);
+ }
+ }
+ }
+}
\ No newline at end of file