23 #include <gtest/gtest.h>
44 class Watcher :
public ConnectivityStateWatcherInterface {
47 bool* destroyed =
nullptr)
71 TEST(StateTracker, SetAndGetState) {
80 "status for testing");
87 TEST(StateTracker, NotificationUponAddingWatcher) {
99 TEST(StateTracker, NotificationUponAddingWatcherWithTransientFailure) {
104 "status for testing");
106 transient_failure_status);
114 TEST(StateTracker, NotificationUponStateChange) {
125 "status for testing");
133 TEST(StateTracker, SubscribeThenUnsubscribe) {
137 bool destroyed =
false;
139 ConnectivityStateWatcherInterface*
watcher =
142 OrphanablePtr<ConnectivityStateWatcherInterface>(
watcher));
156 TEST(StateTracker, OrphanUponShutdown) {
160 bool destroyed =
false;
162 ConnectivityStateWatcherInterface*
watcher =
165 OrphanablePtr<ConnectivityStateWatcherInterface>(
watcher));
179 TEST(StateTracker, AddWhenAlreadyShutdown) {
183 bool destroyed =
false;
186 ConnectivityStateWatcherInterface*
watcher =
189 OrphanablePtr<ConnectivityStateWatcherInterface>(
watcher));
196 TEST(StateTracker, NotifyShutdownAtDestruction) {
214 TEST(StateTracker, DoNotNotifyShutdownAtDestructionIfAlreadyInShutdown) {
236 int main(
int argc,
char** argv) {