Пример #1
0
 public void Setup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml, ITestConfiguration config)
 {
     configuration = config;
     BaseSetup(sutXml, ctrXml);
     SpecificSetup(sutXml, ctrXml);
     isSetup = true;
 }
Пример #2
0
 public void Setup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml, ITestConfiguration config, IDictionary <string, ITestVariable> variables)
 {
     configuration = config;
     Variables     = variables ?? new Dictionary <string, ITestVariable>();
     BaseSetup(sutXml, ctrXml);
     SpecificSetup(sutXml, ctrXml);
     isSetup = true;
 }
        protected override void SpecificSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(ctrXml is UniqueRowsXml))
            {
                throw new ArgumentException("Constraint must be a 'NoDuplicateXml'");
            }

            ConstraintXml = (UniqueRowsXml)ctrXml;
        }
Пример #4
0
        protected override void BaseSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(sutXml is MembersXml))
            {
                throw new ArgumentException("Constraint must be a 'MembesrXml'");
            }

            SystemUnderTestXml = (MembersXml)sutXml;
        }
Пример #5
0
        protected override void BaseSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(sutXml is ExecutionXml))
            {
                throw new ArgumentException("System-under-test must be a 'ExecutionXml'");
            }

            SystemUnderTestXml = (ExecutionXml)sutXml;
        }
Пример #6
0
        protected override void SpecificSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(ctrXml is EqualToXml))
            {
                throw new ArgumentException("Constraint must be a 'EqualToXml'");
            }

            ConstraintXml = (EqualToXml)ctrXml;
        }
Пример #7
0
        protected override void SpecificSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(ctrXml is SyntacticallyCorrectXml))
            {
                throw new ArgumentException("Constraint must be a 'SyntacticallyCorrectXml'");
            }

            ConstraintXml = (SyntacticallyCorrectXml)ctrXml;
        }
Пример #8
0
        protected override void SpecificSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(ctrXml is LookupMatchesXml))
            {
                throw new ArgumentException("Constraint must be a 'lookup-matches'");
            }

            ConstraintXml = (LookupMatchesXml)ctrXml;
        }
Пример #9
0
 public virtual void Setup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml, IConfiguration config, IDictionary <string, ITestVariable> variables, ServiceLocator serviceLocator)
 {
     Configuration  = config ?? Core.Configuration.Configuration.Default;
     Variables      = variables ?? new Dictionary <string, ITestVariable>();
     ServiceLocator = serviceLocator;
     BaseSetup(sutXml, ctrXml);
     SpecificSetup(sutXml, ctrXml);
     isSetup = true;
 }
Пример #10
0
        protected override void SpecificSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(ctrXml is ContainedInXml))
            {
                throw new ArgumentException("Constraint must be a 'MembersSubsetOfBuilder'");
            }

            ConstraintXml = (ContainedInXml)ctrXml;
        }
Пример #11
0
 public void Choose(AbstractSystemUnderTestXml sut, AbstractConstraintXml ctr)
 {
     if (sut.BaseItem is IExecutableArgs)
     {
         Target.Builder = new ExecutionNonQueryFasterThanBuilder();
     }
     else
     {
         Target.Builder = new ExecutionFasterThanBuilder();
     }
 }
Пример #12
0
        protected override void SpecificSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(ctrXml is ExistsXml))
            {
                throw new ArgumentException("Constraint must be a 'ExistsXml'");
            }

            if (!(sutXml is StructureXml))
            {
                throw new ArgumentException("System-under-test must be a 'StructureXml'");
            }

            SystemUnderTestXml = (StructureXml)sutXml;

            ConstraintXml = (ExistsXml)ctrXml;
        }
Пример #13
0
        protected override void SpecificSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(ctrXml is IsXml))
            {
                throw new ArgumentException("Constraint must be a 'IsXml'");
            }

            if (!(sutXml is DataTypeXml))
            {
                throw new ArgumentException("System-under-test must be a 'DataTypeXml'");
            }

            SystemUnderTestXml = (DataTypeXml)sutXml;

            ConstraintXml = (IsXml)ctrXml;
        }
Пример #14
0
        /// <summary>
        /// Create a new instance of a test case
        /// </summary>
        /// <param name="sutXml"></param>
        /// <param name="ctrXml"></param>
        /// <returns></returns>
        public TestCase Instantiate(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (sutXml == null)
            {
                throw new ArgumentNullException("sutXml");
            }
            if (ctrXml == null)
            {
                throw new ArgumentNullException("ctrXml");
            }

            ITestCaseBuilder builder = null;

            //Look for registration ...
            var registration = registrations.FirstOrDefault(reg => sutXml.GetType() == reg.SystemUnderTestType && ctrXml.GetType() == reg.ConstraintType);

            if (registration == null)
            {
                throw new ArgumentException(string.Format("'{0}' is not an expected type for a constraint for a system under test '{1}'.", ctrXml.GetType().Name, sutXml.GetType().Name));
            }

            //Apply the chooser if needed
            if (registration.Builder == null)
            {
                registration.Chooser.Choose(sutXml, ctrXml);
            }

            //Get Builder and initiate it
            builder = registration.Builder;
            builder.Setup(sutXml, ctrXml);

            //Build
            builder.Build();
            var ctr = builder.GetConstraint();
            var sut = builder.GetSystemUnderTest();

            //Apply negation if needed
            if (ctrXml.Not)
            {
                ctr = new NotConstraint(ctr);
            }

            return(new TestCase(sut, ctr));
        }
Пример #15
0
        /// <summary>
        /// Create a new instance of a test case
        /// </summary>
        /// <param name="sutXml"></param>
        /// <param name="ctrXml"></param>
        /// <returns></returns>
        public TestCase Instantiate(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            sutXml = sutXml ?? throw new ArgumentNullException("sutXml");
            ctrXml = ctrXml ?? throw new ArgumentNullException("ctrXml");

            ITestCaseBuilder builder = null;

            //Look for registration ...
            var registration = registrations.FirstOrDefault(reg => IsRegistered(reg, sutXml.GetType(), ctrXml.GetType()));

            if (registration == null)
            {
                throw new ArgumentException(string.Format("'{0}' is not an expected type for a constraint with a system-under-test '{1}'.", ctrXml.GetType().Name, sutXml.GetType().Name));
            }

            //Apply the chooser if needed
            if (registration.Builder == null)
            {
                registration.Chooser.Choose(sutXml, ctrXml);
            }

            //Get Builder and initiate it
            builder = registration.Builder;
            builder.Setup(sutXml, ctrXml, configuration, variables, serviceLocator);

            //Build
            builder.Build();
            NUnitCtr.Constraint ctr = builder.GetConstraint();
            var sut = builder.GetSystemUnderTest();

            //Apply negation if needed
            if (ctrXml.Not)
            {
                ctr = new NUnitCtr.NotConstraint(ctr);
            }

            return(new TestCase(sut, ctr));
        }
Пример #16
0
 public void Setup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml, ITestConfiguration config)
 {
     Setup(sutXml, ctrXml, null, null);
 }
Пример #17
0
 protected override void BaseSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
 => SystemUnderTestXml = sutXml as ScalarXml
                         ?? throw new ArgumentException("System-under-test must be a 'ScalarXml'");
Пример #18
0
 protected abstract void SpecificSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml);
Пример #19
0
 public void Setup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
 {
     BaseSetup(sutXml, ctrXml);
     SpecificSetup(sutXml, ctrXml);
     isSetup = true;
 }
Пример #20
0
 public override void Setup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml, IConfiguration config, IDictionary <string, ITestVariable> variables, ServiceLocator serviceLocator)
 {
     base.Setup(sutXml, ctrXml, config, variables, serviceLocator);
     Helper = new ScalarHelper(ServiceLocator, Variables);
 }
Пример #21
0
 internal void Setup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
 {
     Setup(sutXml, ctrXml, null, null, null);
 }