#include <libaddressinput/supplier.h>
#include <libaddressinput/address_data.h>
#include <libaddressinput/callback.h>
#include <libaddressinput/null_storage.h>
#include <libaddressinput/ondemand_supplier.h>
#include <libaddressinput/preload_supplier.h>
#include <cstddef>
#include <cstring>
#include <memory>
#include <string>
#include <gtest/gtest.h>
#include "lookup_key.h"
#include "rule.h"
#include "testdata_source.h"
#include "util/size.h"
namespace {
AddressData;
BuildCallback;
LookupKey;
NullStorage;
OndemandSupplier;
PreloadSupplier;
Rule;
Supplier;
TestdataSource;
class SupplierWrapper { … };
class OndemandSupplierWrapper : public SupplierWrapper { … };
class PreloadSupplierWrapper : public SupplierWrapper { … };
class SupplierTest : public testing::TestWithParam<SupplierWrapper* (*)()> { … };
INSTANTIATE_TEST_SUITE_P(…);
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(SupplierTest, Invalid) { … }
TEST_P(SupplierTest, Valid) { … }
TEST_P(SupplierTest, KeyDepthEqualsMaxDepth) { … }
TEST_P(SupplierTest, KeyDepthLargerThanMaxDepth) { … }
TEST_P(SupplierTest, KeyDepthSmallerThanMaxDepth) { … }
TEST_P(SupplierTest, KeyDepth0) { … }
TEST_P(SupplierTest, KeyDepth1) { … }
TEST_P(SupplierTest, KeyDepth2) { … }
TEST_P(SupplierTest, KeyDepth3) { … }
TEST_P(SupplierTest, RuleCache) { … }
}