ABsoluteMaybe.Tests.Persistence.XmlExperimentCommandsTests.ConvertMarksParticipantAsHavingConverted C# (CSharp) Method

ConvertMarksParticipantAsHavingConverted() private method

private ConvertMarksParticipantAsHavingConverted ( ) : void
return void
        public void ConvertMarksParticipantAsHavingConverted()
        {
            //arrange
            var timestamp = new DateTime(2000, 1, 1);
            _commands.Reset();
            _commands.UtcNowFactory = () => timestamp;
            const string experimentName = "Troy's Experiment";
            const string assignedOption = "Foo";
            const string userId = "USER_123";
            _commands.GetOrCreateExperiment(experimentName, new[] { "Foo", "Bar" });
            _commands.GetOrCreateParticipationRecord(experimentName, () => assignedOption, userId);

            //act
            _commands.Convert(experimentName, userId);

            //assert
            var xml = XDocument.Parse(_commands.SavedXml);
            var exp = xml.Root.Elements("Experiment").Single();

            var record = exp.Element("Participants").Elements("Participant").Single();

            var convertAtt = record.Attribute("HasConverted");
            convertAtt.ShouldNotBeNull();
            bool.Parse(convertAtt.Value).ShouldBeTrue();

            var dateConvertAtt = record.Attribute("DateConverted");
            dateConvertAtt.ShouldNotBeNull();
            DateTime.Parse(dateConvertAtt.Value).ShouldEqual(timestamp);
        }