public void TestClearDesign()
        {
            SODesign design = new SODesign("test_design");
            SODesignAlternative alternative = new SODesignAlternative("alternative_0001");
            design.AddAlternative(alternative);

            // design should not be null
            Assert.NotNull(design);

            // clears the design
            design.ClearDesign();

            // first design alternative should be the default one
            Assert.IsNotEmpty(design.Alternatives);
            Assert.AreEqual(1, design.Alternatives.Length);
            Assert.AreEqual(SODesign.DEFAULT_ALTERNATIVE_NAME, design.Alternatives[0].Name);
        }
        public void TestCurrentAlternative()
        {
            SODesign design = new SODesign("test_design");

            // design should not be null
            Assert.NotNull(design);

            // current alternative should be the first alternative
            Assert.AreEqual(1, design.Alternatives.Length);
            Assert.NotNull(design.CurrentAlternative);
            Assert.AreEqual(SODesign.DEFAULT_ALTERNATIVE_NAME, design.CurrentAlternative.Name);

            SODesignAlternative alternative = new SODesignAlternative("alternative_0001");
            design.AddAlternative(alternative);

            // current alternative should be the second alternative
            Assert.AreEqual(2, design.Alternatives.Length);
            Assert.NotNull(design.CurrentAlternative);
            Assert.AreEqual("alternative_0001", design.CurrentAlternative.Name);
        }
 /// <summary>
 /// Reinitialise the design 
 /// </summary>
 public void ReInitDesign()
 {
     this.m_Design = new SODesign("default");
 }