ABsoluteMaybe.Tests.Persistence.XmlExperimentCommandsTests.CreateExperimentDoesntOverwriteExperimentIfItAlreadyExists C# (CSharp) Méthode

CreateExperimentDoesntOverwriteExperimentIfItAlreadyExists() private méthode

        public void CreateExperimentDoesntOverwriteExperimentIfItAlreadyExists()
        {
            //arrange
            _commands.Reset();
            const string experimentName = "Existing Experiment";
            const string convKeyOld = "CONVERT_ON_ME";
            _commands.GetOrCreateExperiment(experimentName, convKeyOld, new[] { "Foo", "Bar" });
            _commands.GetOrCreateParticipationRecord(experimentName, () => "Foo", "USER_1");

            //act
            _commands.GetOrCreateExperiment(experimentName, "CONV_KEY_NEW", new[] { "Foo", "Bar" });

            //assert
            var xml = XDocument.Parse(_commands.SavedXml);
            var experiments = xml.Root.Elements("Experiment");
            experiments.Count().ShouldEqual(1);

            var exp = experiments.Single();

            var convKeyAtt = exp.Attribute("ConversionKeyword");
            convKeyAtt.ShouldNotBeNull();
            convKeyAtt.Value.ShouldEqual(convKeyOld);

            var records = exp.Element("Participants").Elements("Participant");
            records.Count().ShouldEqual(1);
        }