owner_tests.cpp revision bb169976da75c4c8a30b403ffc8ff887d72a75bf
1///////////////////////////////////////////////////////////////////////////////
2//
3// Copyright (c) 2015 Microsoft Corporation. All rights reserved.
4//
5// This code is licensed under the MIT License (MIT).
6//
7// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
10// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
11// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
13// THE SOFTWARE.
14//
15///////////////////////////////////////////////////////////////////////////////
16
17#include <UnitTest++/UnitTest++.h>
18#include <gsl.h>
19#include <functional>
20
21using namespace Guide;
22
23SUITE(owner_tests)
24{
25    void f(int* i)
26    {
27        *i += 1;
28    }
29
30    TEST(basic_test)
31    {
32        owner<int*> p = new int(120);
33        CHECK(*p == 120);
34        f(p);
35        CHECK(*p == 121);
36        delete p;
37    }
38}
39
40int main(int, const char *[])
41{
42    return UnitTest::RunAllTests();
43}
44