blob: 7ef734dcde99954303384d62349dce6d153c7858 [file] [log] [blame]
/*
* Copyright 2020 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "tests/Test.h"
#include "src/gpu/GrAffinedStorage.h"
DEF_TEST(GrAffinedStorageTest, reporter) {
class Owner {};
Owner owner1, owner2;
GrAffinedStorage<void, int> storage{0};
REPORTER_ASSERT(reporter, storage.set(&owner1, 1));
REPORTER_ASSERT(reporter, !storage.set(&owner2, 2));
REPORTER_ASSERT(reporter, 1 == *storage.get(&owner1));
REPORTER_ASSERT(reporter, storage.set(&owner1, 2));
REPORTER_ASSERT(reporter, 2 == *storage.get(&owner1));
REPORTER_ASSERT(reporter, !storage.release(&owner2));
REPORTER_ASSERT(reporter, storage.set(&owner1, 3));
REPORTER_ASSERT(reporter, 3 == *storage.get(&owner1));
REPORTER_ASSERT(reporter, storage.release(&owner1));
REPORTER_ASSERT(reporter, !storage.get(&owner1));
REPORTER_ASSERT(reporter, storage.set(&owner2, 4));
REPORTER_ASSERT(reporter, 4 == *storage.get(&owner2));
}