public void TestNewScenarioGroup()
        {
            ScenarioGroup parent;
            ScenarioGroup main;
            ScenarioGroupDetail detail;
            int parentId = 1;
            string name = "New Scenario Group Test";

            using (var context = new ScenarioGeneratorModel(UserName, Connection))
            {
                context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

                ScenarioGroupRepository repository = new ScenarioGroupRepository(context);

                parent = repository.ScenarioGroups().Where(p => p.ScenarioGroupID == parentId).FirstOrDefault();

                detail = repository.Add(parent);
                detail.Name = name;
                main = detail.ScenarioGroup;

                Assert.AreEqual(EntityStatus.UnapprovedInSession, detail.Status);
                Assert.AreEqual(EntityStatus.UnapprovedInSession, main.Status);
                Assert.AreEqual("Unapproved", detail.DisplayStatus);
                Assert.AreEqual("Unapproved", main.DisplayStatus);
                Assert.AreEqual(parent, detail.ScenarioGroupParent);

                repository.SaveChanges();
            }

            using (var context = new ScenarioGeneratorModel(UserName, Connection))
            {
                context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

                ScenarioGroupRepository repository = new ScenarioGroupRepository(context);

                detail = repository.ScenarioGroupDetails().Where(d => d.Name == name).FirstOrDefault();

                Assert.AreEqual(EntityStatus.Unapproved, detail.Status);
                Assert.AreEqual(DateTime.MinValue, detail.StartTime);
                Assert.AreEqual(DateTime.MaxValue, detail.EndTime);
                Assert.AreEqual(context.UserName, detail.CreatedBy);

                parent = repository.ScenarioGroups().Where(p => p.ScenarioGroupID == parentId).FirstOrDefault();

                Assert.AreEqual(parent, detail.ScenarioGroupParent);

                main = detail.ScenarioGroup;

                Assert.AreEqual(EntityStatus.Unapproved, main.Status);
                Assert.AreEqual(DateTime.MinValue, main.StartTime);
                Assert.AreEqual(DateTime.MaxValue, main.EndTime);
                Assert.AreEqual(context.UserName, main.CreatedBy);

            }
        }