Sha256: 679cc5df940cc3a86dd5133d834781a7ff6e7c4dfcdb57e71f34d9333a721f05

Contents?: true

Size: 1.92 KB

Versions: 2

Compression:

Stored size: 1.92 KB

Contents

#include <specs/specs.h>

using namespace bandit::Matchers;

SPEC_BEGIN(Matchers::BeTruthy)

describe("be_truthy matcher", [&]{
    describe("when the value is a built-in type", [&]{
        bool value;

        describe("which evaluates to false", [&]{
            before_each([&]{
                value = false;
            });

	    it("must accept a negative match", [&]{
		value must_not be_truthy;
	    });

	    it("must reject a positive match", [&]{
		AssertThrows(std::exception, [&]{ value must be_truthy; }());
            });
        });

        describe("which evaluates to true", [&]{
            before_each([&]{
                value = true;
            });

	    it("must accept a positive match", [&]{
		value must be_truthy;
	    });

	    it("must reject a negative match", [&]{
		AssertThrows(std::exception, [&]{ value must_not be_truthy; }());
            });
        });
    });

    describe("when the value is nullptr", [&]{
	auto value = nullptr;

	it("must accept a negative match", [&]{
	    value must_not be_truthy;
	});

	it("must reject a positive match", [&]{
	    AssertThrows(std::exception, [&]{ value must be_truthy; }());
	});
    });

    describe("when the value is a pointer", [&]{
        char* value;

        describe("which evaluates to false", [&]{
            before_each([&]{
                value = NULL;
            });

	    it("must accept a negative match", [&]{
		value must_not be_truthy;
	    });

	    it("must reject a positive match", [&]{
		AssertThrows(std::exception, [&]{ value must be_truthy; }());
	    });
        });

        describe("which evaluates to true", [&]{
            before_each([&]{
                value = (char*)"cat";
            });

	    it("must accept a positive match", [&]{
		value must be_truthy;
	    });

	    it("must reject a negative match", [&]{
		AssertThrows(std::exception, [&]{ value must_not be_truthy; }());
            });
        });
    });
});

SPEC_END

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tree-sitter-0.1.0 ext/tree-sitter/tree-sitter/externals/bandit/specs/matchers/be_truthy.cpp
tree-sitter-0.0.1 ext/tree-sitter/tree-sitter/externals/bandit/specs/matchers/be_truthy.cpp