public void TestReadPersonWithMultiplePendingModificationsActivated() { // Make a separate copy from the main tree used in other tests var tempTree = new FamilySearchFamilyTree(true); var features = new List<Feature>(); tempTree.AuthenticateViaOAuth2Password(Resources.TestUserName, Resources.TestPassword, Resources.TestClientId); // Get all the features that are pending IRestRequest request = new RedirectableRestRequest() .Accept(MediaTypes.APPLICATION_JSON_TYPE) .Build("https://sandbox.familysearch.org/platform/pending-modifications", Method.GET); IRestResponse response = tempTree.Client.Handle(request); // Get each pending feature features.AddRange(response.ToIRestResponse<FamilySearchPlatform>().Data.Features); // Add every pending feature to the tree's current client tempTree.Client.AddFilter(new ExperimentsFilter(features.Select(x => x.Name).ToArray())); var state = tempTree.AddPerson(TestBacking.GetCreateMalePerson()); cleanup.Add(state); // Ensure a response came back Assert.IsNotNull(state); var requestedFeatures = String.Join(",", state.Request.GetHeaders().Get("X-FS-Feature-Tag").Select(x => x.Value.ToString())); // Ensure each requested feature was found in the request headers Assert.IsTrue(features.TrueForAll(x => requestedFeatures.Contains(x.Name))); }