public override Verb CreateVerb(string[] tokens) { Color(position, tokens[1].Length, Whitespaces); var fromSource = tokens[2]; Color(fromSource.Length, Numbers); Color(1, Structures); var toSource = tokens[3]; Color(toSource.Length, Numbers); var from = fromSource.ToInt(); var to = toSource.ToInt(); var parser = new PatternParser { IgnoreReplacement = true }; if (parser.Scan(source, position + length - 1)) { var newPattern = (Pattern)parser.Result.Value; Element = new RangeElement(from, to, newPattern); overridePosition = parser.Result.Position; return(new NullOp()); } return(null); }
///// <summary> Validates the link. </summary> //private IEnumerable<ValidationInfo> Validate(HtmlElement htmlElement) //{ // List<ValidationInfo> errors = new List<ValidationInfo>(); // if (htmlElement.Editable) // { // // Required // if (htmlElement.Required && string.IsNullOrWhiteSpace(htmlElement.Value)) // { // ValidationInfo validationInfo = Mapper.Map<ValidationInfo>(htmlElement); // validationInfo.ErrorType = ValidationErrorType.Required; // errors.Add(validationInfo); // } // // Max Length // if (htmlElement.MaxLength != null) // { // int length = 0; // if (!string.IsNullOrEmpty(htmlElement.Value)) // { // HtmlEngine engine = new HtmlEngine(); // HtmlAgilityPack.HtmlDocument doc = engine.LoadDoc(htmlElement.Value); // if (doc != null) // { // string text = engine.ExtractVisibleText(doc); // // Trim (same behaviour as in the editor) // text = text.Trim(); // // Count breaks as 1 character // text = text.Replace("\r\n", " "); // length = text.Length; // } // } // if (length > htmlElement.MaxLength.Value) // { // ValidationInfo validationInfo = Mapper.Map<ValidationInfo>(htmlElement); // validationInfo.ErrorType = ValidationErrorType.MaxLength; // errors.Add(validationInfo); // } // } // } // return errors; //} /// <summary> Validates the ranges. </summary> private IEnumerable <ValidationInfo> Validate(RangeElement range) { List <ValidationInfo> errors = new List <ValidationInfo>(); if (range.Required && range.Items.IsNullOrEmpty()) { errors.Add(new ValidationInfo { HtmlName = range.Name, ErrorType = ValidationErrorType.Required, Label = range.Label }); } if (!range.Items.IsNullOrEmpty()) { foreach (RangeElement.RangeElementItem item in range.Items) { if (string.IsNullOrWhiteSpace(item.Label)) { errors.Add(new ValidationInfo { HtmlName = range.Name, ErrorType = ValidationErrorType.MissingRangelabel, Label = range.Label }); } if (range.Items.Any(x => x.MinimumValue == item.MinimumValue && x.MaximumValue == item.MaximumValue && x.Id != item.Id)) { errors.Add(new ValidationInfo { HtmlName = range.Name, ErrorType = ValidationErrorType.DuplicateRanges, Label = string.IsNullOrWhiteSpace(item.Label) ? item.Label : range.Label }); } } } return(errors); }
public void Should_adjust_the_range_to_the_proper_order() { var expected = new RangeElement("A", "F"); Elements.Contains(expected).ShouldBeTrue(); }
public void Should_return_the_third_range() { var expected = new RangeElement("M", "N"); Elements.Contains(expected).ShouldBeTrue(); }
public override void VisitRangeElement(RangeElement element) { Console.Write("("); VisitElement(element.RANGEVARIABLE); Console.Write("->"); VisitElement(element.STARTINGRANGE); Console.Write("to"); VisitElement(element.ENDINGRANGE); Console.Write(")"); }
public void Should_include_the_wide_range() { var expected = new RangeElement("B", "P"); Elements.Contains(expected).ShouldBeTrue(); }
public void Should_return_the_individual_ranges() { var expected = new RangeElement("A", "Z"); Elements.Contains(expected).ShouldBeTrue(); }
public void Should_properly_include_the_space_in_the_second_range() { var expected = new RangeElement("P", "TE J"); Elements.Contains(expected).ShouldBeTrue(); }
public void Should_not_contain_a_second_group() { var expected = new RangeElement("L", "M"); Elements.Contains(expected).ShouldBeFalse(); }
public void Should_optimize_out_the_redundant_ranges() { var expected = new RangeElement("A", "K"); Elements.Contains(expected).ShouldBeTrue(); }
public void Should_not_include_the_range() { var expected = new RangeElement("BA", "BA"); Elements.Contains(expected).ShouldBeFalse(); }
public void Should_include_the_second_range() { var expected = new RangeElement("O", "S"); Elements.Contains(expected).ShouldBeTrue(); }
public void Should_include_the_first_range() { var expected = new RangeElement("A", "G"); Elements.Contains(expected).ShouldBeTrue(); }
public void Should_include_the_appropriate_range() { var expected = new RangeElement("100", "110"); Elements.Contains(expected).ShouldBeTrue(); }
public void Should_not_contain_a_second_group() { var expected = new RangeElement("C", "G"); Elements.Contains(expected).ShouldBeFalse(); }
public void Should_return_the_first_range() { var expected = new RangeElement("A", "G"); Elements.Contains(expected).ShouldBeTrue(); }
public void Should_not_include_the_narrow_range() { var expected = new RangeElement("G", "M"); Elements.Contains(expected).ShouldBeFalse(); }
public void Should_return_the_second_range() { var expected = new RangeElement("C", "G"); Elements.Contains(expected).ShouldBeFalse(); }
static void Main(String[] args) { Console.WriteLine("\nTesting the ParallelForStatementElement class"); Console.WriteLine("\n==========================================\n"); RangeElement elem = new RangeElement(); VariableElement var_elem = new VariableElement(); var_elem.setText("a"); elem.RANGEVARIABLE = var_elem; IntegerElement int_elem = new IntegerElement(); int_elem.setText("1"); elem.STARTINGRANGE = int_elem; IntegerElement int_elem2 = new IntegerElement(); int_elem2.setText("10"); elem.ENDINGRANGE = int_elem2; ParallelForElement for_elem = new ParallelForElement(); for_elem.RANGE = elem; ScalarVariableDeclaration scalar_elem = new ScalarVariableDeclaration(); scalar_elem.setType("int"); scalar_elem.setVar(var_elem); for_elem.ADDCODE = scalar_elem; for_elem.syncfunction(); VariableElement elem2 = new VariableElement(); elem2.setText("b"); for_elem.ADDCODE = elem2; for_elem.syncfunction(); RangeElement Relem = new RangeElement(); Relem = for_elem.RANGE; Console.Write("Range is " + Relem.STARTINGRANGE.getText() + " to " + Relem.ENDINGRANGE.getText() + "\n"); List<List<Element>> elem_list = new List<List<Element>>(); elem_list = for_elem.PARALLELCODE; for(int i=0; i<elem_list.Count;i++) { List<Element> code = new List<Element>(); code = elem_list[i]; for (int j = 0; j<code.Count; j++) { Console.Write("The parallelfor statement code list "+ (i+1) +" has "+ code[j].ToString() + "\n"); } } }
public void Should_return_the_second_range() { var expected = new RangeElement("H", "K"); Elements.Contains(expected).ShouldBeTrue(); }
public abstract void VisitRangeElement(RangeElement element);
static void Main(String[] args) { Console.WriteLine("\nTesting the ForStatementElement class"); Console.WriteLine("\n==========================================\n"); RangeElement elem = new RangeElement(); VariableElement var_elem = new VariableElement(); var_elem.setText("a"); elem.RANGEVARIABLE = var_elem; IntegerElement int_elem = new IntegerElement(); int_elem.setText("1"); elem.STARTINGRANGE = int_elem; IntegerElement int_elem2 = new IntegerElement(); int_elem2.setText("10"); elem.ENDINGRANGE = int_elem2; ForStatementElement for_elem = new ForStatementElement(); for_elem.RANGE = elem; ScalarVariableDeclaration scalar_elem = new ScalarVariableDeclaration(); scalar_elem.setType("int"); scalar_elem.setVar(var_elem); for_elem.ADDCODE = scalar_elem; RangeElement Relem = new RangeElement(); Relem = for_elem.RANGE; Console.Write("Range is "+Relem.STARTINGRANGE.getText()+" to "+ Relem.ENDINGRANGE.getText()+"\n"); List<Element> elem_list = new List<Element>(); elem_list = for_elem.CODELIST; for(int i=0; i<elem_list.Count;i++) { Console.Write("The for statement list has " + elem_list[i].ToString()+"\n"); } }