示例#1
0
        public object Clone()
        {
            var fixture = new LightTestFixture();

            fixture.Name = Name;

            fixture.Setup           = (Script)Setup.Clone();
            fixture.TearDown        = (Script)TearDown.Clone();
            fixture.OneTimeSetup    = (Script)OneTimeSetup.Clone();
            fixture.OneTimeTeardown = (Script)OneTimeTeardown.Clone();

            foreach (var test in Tests)
            {
                fixture.Tests.Add((Script)test.Clone());
            }

            ((IHaveGuid)fixture.Setup).RegenerateGuid();
            ((IHaveGuid)fixture.TearDown).RegenerateGuid();
            ((IHaveGuid)fixture.OneTimeSetup).RegenerateGuid();
            ((IHaveGuid)fixture.OneTimeTeardown).RegenerateGuid();
            fixture.Tests.RegenerateGuids();

            fixture.Guid = Guid;

            return(fixture);
        }
示例#2
0
        public TestFixture ApplyLightFixtureValues(LightTestFixture t)
        {
            m_LoadedScripts.Clear();

            Name = t.Name;
            Guid = t.Guid == default(Guid) ? Guid : t.Guid;

            AddScript(t.Setup);
            AddScript(t.TearDown);
            AddScript(t.OneTimeSetup);
            AddScript(t.OneTimeTeardown);

            foreach (var test in t.Tests)
            {
                AddScript(test);
            }

            m_IsDirty = false;

            return(this);
        }