Пример #1
0
        public static ComponentTemplateExecutor MockComponentTemplateExecutor()
        {
            var agpxOptions        = OptionsMocks.WrapOptions(OptionsMocks.CreateAgpxOptions());
            var propertySetter     = new PropertySetter(OptionsMocks.CreateApplicationOptions());
            var expressionExecutor = new ExpressionExecutor();
            var dssStyleSetter     = new DssStyleSetter(agpxOptions, propertySetter, expressionExecutor);

            return(new ComponentTemplateExecutor(ComponentFactory, dssStyleSetter, propertySetter, agpxOptions));
        }
Пример #2
0
        public void PropertySetter_SetTimeSpan(float seconds)
        {
            var applicationOptions = OptionsMocks.CreateApplicationOptions();
            var propertySetter     = new PropertySetter(applicationOptions);
            var component          = ComponentMocks.CreateComponent <BasicTemplatelessComponent>();

            component.Name = "TestComponent";

            var propertyValue = new TimeSpanPropertyValue(seconds);

            propertySetter.SetValue(component, nameof(BasicTemplatelessComponent.TimeSpan), propertyValue);

            Assert.Equal(TimeSpan.FromSeconds(seconds), component.TimeSpan);
        }
Пример #3
0
        public void PropertySetter_SetScalar(float value)
        {
            var applicationOptions = OptionsMocks.CreateApplicationOptions();
            var propertySetter     = new PropertySetter(applicationOptions);
            var component          = ComponentMocks.CreateComponent <BasicTemplatelessComponent>();

            component.Name = "TestComponent";

            var propertyValue = new ScalarPropertyValue(value);

            propertySetter.SetValue(component, nameof(BasicTemplatelessComponent.Length), propertyValue);

            Assert.Equal(value, component.Single);
        }
Пример #4
0
        public void PropertySetter_SetLength(string unit, float length)
        {
            var applicationOptions = OptionsMocks.CreateApplicationOptions();
            var propertySetter     = new PropertySetter(applicationOptions);
            var component          = ComponentMocks.CreateComponent <BasicTemplatelessComponent>();

            component.Name = "TestComponent";

            var propertyValue = new LengthPropertyValue(unit, length);

            propertySetter.SetValue(component, nameof(BasicTemplatelessComponent.Length), propertyValue);

            Assert.Equal(unit == "%", component.Length[UnitType.Percentage] != 0);
            Assert.Equal(unit == "px", component.Length[UnitType.Pixel] != 0);
            Assert.Equal(unit == "x", component.Length[UnitType.Ratio] != 0);
            Assert.Equal(unit == "u", component.Length[UnitType.Unit] != 0);
        }
Пример #5
0
        public static ComponentTemplate ParseComponentTemplateCode(string code)
        {
            var appOptions            = OptionsMocks.CreateApplicationOptions();
            var propertySetter        = new PropertySetter(appOptions);
            var dssParser             = new DssParser();
            var expressionExecutor    = new ExpressionExecutor();
            var componentTypeResolver = new ComponentTypeResolver();
            var agpmlParser           = new AGPMLParser(propertySetter, dssParser, expressionExecutor, componentTypeResolver);

            var sourceInfo = new SourceCodeInfo("TestCode", code);
            var template   = agpmlParser.ParseComponentTemplate(sourceInfo);

            if (!ComponentTemplateProvider.ComponentTypes.Contains(template.ComponentType))
            {
                ComponentTemplateProvider.Add(template);
            }

            return(template);
        }