Beispiel #1
0
        public static IScenarioDiscoverer GetDiscoverer(IMessageSink diagnosticsMessageSink, IAttributeInfo scenarioAttribute)
        {
            if (scenarioAttribute == null)
            {
                throw new ArgumentNullException(nameof(scenarioAttribute));
            }
            var discovererAttribute = scenarioAttribute.GetCustomAttributes(typeof(ScenarioDiscovererAttribute)).SingleOrDefault();

            if (discovererAttribute == null)
            {
                throw new InvalidOperationException(
                          $"{ScenarioAttribute.GetAttributeTypeName(scenarioAttribute)} must be annotated with a single ScenarioDiscovererAttribute");
            }

            var args           = discovererAttribute.GetConstructorArguments().Cast <string>().ToList();
            var discovererType = LoadType(args[1], args[0]);

            if (discovererType == null)
            {
                throw new InvalidOperationException(
                          $"Could not load scenario discoverer of type \"{args[1]}, {args[0]}\" for {ScenarioAttribute.GetAttributeTypeName(scenarioAttribute)}");
            }

            return(GetDiscoverer(diagnosticsMessageSink, discovererType));
        }
        protected override void CreateIdenticalScenarioAttributes(out ScenarioAttribute a, out ScenarioAttribute b)
        {
            var g = new Guid("6A94DF01-FA7B-4ADD-9552-F886C07859F5");

            a = new TestableScenarioAttribute(g);
            b = new TestableScenarioAttribute(g);
        }
Beispiel #3
0
        public IScenarioIdentifier GetScenarioIdentifier(IAttributeInfo scenarioAttribute)
        {
            var displayName = scenarioAttribute != null
                ? ScenarioAttribute.GetAttributeDefinition(scenarioAttribute)
                : "unknown";

            return(new DummyScenarioIdentifier(displayName));
        }
Beispiel #4
0
 private string GetScenarioDescriptionOrDefaultValue(ScenarioAttribute scenarioAttribute, Type declaringType)
 {
     return(string.Format("{0}{1}",
                          scenarioAttribute is ScenarioOutlineAttribute
             ? Settings.GetToken(TokenType.ScenarioOutline)
             : Settings.GetToken(TokenType.Scenario),
                          string.IsNullOrWhiteSpace(scenarioAttribute.Description)
             ? declaringType.Name.WithSpaces()
             : scenarioAttribute.Description));
 }
        private void GetIdenticalScenarioAttributes(out ScenarioAttribute a, out ScenarioAttribute b)
        {
            CreateIdenticalScenarioAttributes(out a, out b);

            a.DisplayName = "DISPLAY";
            a.Skip        = "SKIP";

            b.DisplayName = "DISPLAY";
            b.Skip        = "SKIP";
        }
Beispiel #6
0
 private string GetScenarioDescriptionOrDefaultValue(ScenarioAttribute scenarioAttribute, Type declaringType)
 {
     return(string.Format("{0}{1}",
                          declaringType.HasAttribute <ExampleAttribute>()
             ? Settings.GetToken(TokenType.ScenarioOutline)
             : Settings.GetToken(TokenType.Scenario),
                          scenarioAttribute == null || string.IsNullOrWhiteSpace(scenarioAttribute.Description)
             ? declaringType.Name.AsSentence()
             : scenarioAttribute.Description));
 }
 public string this[ScenarioAttribute arg]
 {
     get
     {
         return(parameters[arg]);
     }
     private set
     {
         parameters[arg] = value;
     }
 }
 protected override void CreateDifferentScenarioAttributes(out ScenarioAttribute a, out ScenarioAttribute b)
 {
     a = new TestableScenarioAttribute(new Guid("37358A11-3CE3-47B6-8FB2-ECF51B161FC5"));
     b = new TestableScenarioAttribute(new Guid("035B35D8-6A5F-4418-AA3F-7B0377248ADC"));
 }
 protected override void CreateIdenticalScenarioAttributes(out ScenarioAttribute a, out ScenarioAttribute b)
 {
     a = new RosbagScenarioAttribute("bags/rosbag-identical.bag");
     b = new RosbagScenarioAttribute("bags/rosbag-identical.bag");
 }
 protected override void CreateDifferentScenarioAttributes(out ScenarioAttribute a, out ScenarioAttribute b)
 {
     a = new RosbagScenarioAttribute("bags/rosbag-a.bag");
     b = new RosbagScenarioAttribute("bags/rosbag-b.bag");
 }
 protected abstract void CreateIdenticalScenarioAttributes(out ScenarioAttribute a, out ScenarioAttribute b);
 protected abstract void CreateDifferentScenarioAttributes(out ScenarioAttribute a, out ScenarioAttribute b);