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)); }
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); }
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); }
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); }
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); }