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);
}