public object Parse(IEnumerable <Tsource> source, Tcontroller controller) { var pc = new ParseController(source, controller); pc.MoveTo(this); return(pc.controller.GetResult()); }
public void ParseNumbers_Give_1_Return_1() { //Assign var data = new List <List <char> >() { new List <char>() { '|', '\r', '\n' }, new List <char>() { '|', '\r', '\n' }, new List <char>() { '|', '\r', '\n' }, new List <char>() { '|' } }; var controller = new ParseController(); //Act var actual = controller.ParseNumbers(data); //Assert var expected = new List <char>() { '1' }; Assert.IsTrue(actual.SequenceEqual(expected)); }
private static List <char> GetParsedResult(string filePath) { MyDataReader reader = new DataFromTxt(filePath); var data = reader.GetData(); IParseController controller = new ParseController(); var result = controller.ParseNumbers(data); return(result); }
public void UAClientIsBot(string ua) { ParseController parseCRL = new ParseController(); parseCRL.SetUA(ua); var result = parseCRL.ParseUA(); Assert.True(result.IsBot); }
public void UADeviceIsMobile(string ua) { ParseController parseCRL = new ParseController(); parseCRL.SetUA(ua); var result = parseCRL.ParseUA(); Assert.True(result.Device.IsMobile); }
public void ParseNumbers_Give_3sss2ssss1ss4sss5n1ss4sss5_Return_3_2_1_4_5_n_1_4_5() { //Assign char sp = ' '; var data = new List <List <char> >() { new List <char>() { '-', '-', '-', sp, sp, sp, '-', '-', '-', sp, sp, sp, sp, '|', sp, sp, '|', ' ', ' ', ' ', '|', sp, sp, sp, '-', '-', '-', '-', '-', '\r', '\n' }, new List <char>() { ' ', '/', ' ', sp, sp, sp, ' ', '_', '|', sp, sp, sp, sp, '|', sp, sp, '|', '_', '_', '_', '|', sp, sp, sp, '|', '_', '_', '_', '\r', '\n' }, new List <char>() { ' ', '\\', ' ', sp, sp, sp, '|', ' ', ' ', sp, sp, sp, sp, '|', sp, sp, ' ', ' ', ' ', ' ', '|', sp, sp, sp, ' ', ' ', ' ', ' ', '|', '\r', '\n' }, new List <char>() { '-', '-', ' ', sp, sp, sp, '-', '-', '-', sp, sp, sp, sp, '|', sp, sp, ' ', ' ', ' ', ' ', '|', sp, sp, sp, '_', '_', '_', '_', '|' }, new List <char>() { '|', sp, sp, '|', ' ', ' ', ' ', '|', sp, sp, sp, '-', '-', '-', '-', '-', '\r', '\n' }, new List <char>() { '|', sp, sp, '|', '_', '_', '_', '|', sp, sp, sp, '|', '_', '_', '_', '\r', '\n' }, new List <char>() { '|', sp, sp, ' ', ' ', ' ', ' ', '|', sp, sp, sp, ' ', ' ', ' ', ' ', '|', '\r', '\n' }, new List <char>() { '|', sp, sp, ' ', ' ', ' ', ' ', '|', sp, sp, sp, '_', '_', '_', '_', '|' } }; var controller = new ParseController(); //Act var actual = controller.ParseNumbers(data); //Assert var expected = new List <char>() { '3', '2', '1', '4', '5', '\r', '\n', '1', '4', '5' }; Assert.IsTrue(actual.SequenceEqual(expected)); }
void Parse(ParseController pc) { EnterHandle(pc.value, pc.controller); pc.ClearValues(); while (pc.Next() != -1) { Transition transition = pc.transition; //removing key from value sequence if (transition.clearKeyBuffer) { pc.ClearKey(); } //if the value is meaningful if (transition.noZero && !pc.hasValue) { continue; } if (transition.handler != null) { var node = transition.handler(pc.value, pc.controller); if (node != null) { pc.MoveTo(node); } } if (transition.node != null) { pc.MoveTo(transition.node); } if (transition.isExit) { ExitHandle(pc.value, pc.controller); return; } if (transition.clearOnBack) { pc.ClearValues(); } } if (!ignoreEnd) { throw new EndOfSequenceParseException(); } ExitHandle(pc.value, pc.controller); }