public void IDDFSTraverse() { this.mLoopKiller.PushToOpenStack(this.mRootNode); int max_search_level = 1; while (true) { VisitResult result = this.IIDFSVisitNextNode(max_search_level); if (VisitResult.VisitedNodeGoal == result) { break; } else if (VisitResult.VisitedNodeNotAGoal == result) { //ignore continue; } else// (VisitResult.VisitedNodeExceededMaxLevel == result) { this.ResetSearch(); max_search_level++; continue; } } }
public void HeuristicTraverse() { this.mLoopKiller.AddedToSortedOpenList(this.mRootNode); int max_search_level = int.MaxValue; while (true) { VisitResult result = this.HIIDFSVisitNextNode(max_search_level); if (VisitResult.VisitedNodeGoal == result) { break; } else if (VisitResult.VisitedNodeNotAGoal == result) { //ignore continue; } else// (VisitResult.VisitedNodeExceededMaxLevel == result) { this.ResetHeuristicSearch(); max_search_level++; continue; } } }
/// <summary> /// Processes a binary expression. /// </summary> /// <param name="expression">The binary expression.</param> /// <returns>The result of the processing.</returns> protected virtual VisitResult VisitBinary(BinaryExpression expression) { var operand = GetOperant(expression.NodeType); var andAlsoOrOrElse = operand is "and" or "or"; VisitResult left, right; if (andAlsoOrOrElse && expression.Left is MemberExpression leftMember && leftMember.Expression?.NodeType == ExpressionType.Parameter) { left = new VisitResult($"{VisitMemberAccess(leftMember).Result} = '1'"); }
public void DFSTraverse() { this.mLoopKiller.PushToOpenStack(this.mRootNode); bool find = false; while (!find) { VisitResult vr = this.DFSVisitNextNode(); if (vr == VisitResult.VisitedNodeGoal) { find = true; } else { find = false; } } }
public void BFSTraverse() { this.mLoopKiller.OfferToOpenQueue(this.mRootNode); bool find = false; while (!find) { VisitResult vr = this.BFSVisitNextNode(); if (vr == VisitResult.VisitedNodeGoal) { find = true; } else { find = false; } } }
public void VertifyRule_ParseSuccess_ReturnsTrueAndExceptionsIsEmpty() { var visitorMock = new Mock <DataPrivilegeVisitor <TestDbContext, TestEntity> >(null, null, null); VisitResult <TestEntity> visitResult = new VisitResult <TestEntity>(t => t.BoolProp, new List <Exception>(), new List <string>()); visitorMock.Setup(v => v.Visit(It.IsNotNull <string>())).Returns(visitResult); DataPrivilegeVisitor <TestDbContext, TestEntity> dataPrivilegeVisitor = visitorMock.Object; DataPrivilegeContext <TestDbContext, TestEntity, DataPrivilegeRule> context = new DataPrivilegeContext <TestDbContext, TestEntity, DataPrivilegeRule>(new List <DataPrivilegeRule>(), null, null, dataPrivilegeVisitor); bool result = context.VertifyRule(new DataPrivilegeRule() { TableName = "t", ConditionExpression = "a=b" }, out IList <Exception> exceptions); result.ShouldBeTrue(); exceptions.ShouldBeEmpty(); visitorMock.Verify(v => v.Visit(It.IsAny <string>()), Times.Once); }
public ActionResult Visit(ShortUrlVisitCommand command) { Check.Argument.IsNotNull(command, "command"); bool sameDomain = !string.IsNullOrWhiteSpace(command.Referrer) && command.Referrer.StartsWith(Url.ApplicationRoot(), StringComparison.OrdinalIgnoreCase); if (!sameDomain) { ShortUrlResult shortUrlResult = shortUrlService.GetByAlias(command.Alias); ShortUrlDTO shortUrl = shortUrlResult.ShortUrl; if (shortUrl == null) { return(new NotFoundResult()); } if (shortUrl.SpamStatus.IsSpam()) { return(RedirectToAction("Preview", new { alias = shortUrl.Alias })); } } if (sameDomain) { command.Referrer = null; } VisitResult visitResult = shortUrlService.Visit(command.Alias, command.IPAddress, command.Browser, command.Referrer); ModelState.Merge(visitResult.RuleViolations); if (visitResult.Visit == null) { return(new NotFoundResult()); } string url = visitResult.Visit.Url; return(settings.RedirectPermanently ? new PermanentRedirectResult(url) : Redirect(url)); }
public void VertifyRule_ParseError_ReturnsFalse() { var visitorMock = new Mock <DataPrivilegeVisitor <TestDbContext, TestEntity> >(null, null, null); VisitResult <TestEntity> visitResult = new VisitResult <TestEntity>(null, new List <Exception>() { new Exception() }, new List <string>()); visitorMock.Setup(v => v.Visit("a=c")).Returns(visitResult); DataPrivilegeVisitor <TestDbContext, TestEntity> dataPrivilegeVisitor = visitorMock.Object; DataPrivilegeContext <TestDbContext, TestEntity, DataPrivilegeRule> context = new DataPrivilegeContext <TestDbContext, TestEntity, DataPrivilegeRule>(new List <DataPrivilegeRule>(), null, null, dataPrivilegeVisitor); bool result = context.VertifyRule(new DataPrivilegeRule() { TableName = "table", ConditionExpression = "a=c" }, out IList <Exception> exceptions); result.ShouldBeFalse(); exceptions.ShouldNotBeEmpty(); visitorMock.Verify(v => v.Visit(It.IsAny <string>()), Times.Once); }
static VisitResult Deserialize <TContainer>(SerializedObjectReader reader, ref TContainer container) { var source = reader.ReadObject(); var result = VisitResult.GetPooled(); try { using (var construction = PropertyContainer.Construct(ref container, ref source, new PropertyContainerConstructOptions { TypeIdentifierKey = JsonVisitor.Style.TypeInfoKey })) result.TransferEvents(construction); using (var transfer = PropertyContainer.Transfer(ref container, ref source)) result.TransferEvents(transfer); } catch (Exception) { reader.Dispose(); throw; } return(result); }
public VisitResultTests() { var visit = new Visit { IPAddress = "192.168.0.2", Referrer = new Referrer { Domain = "twitter.com", Url = "http://twitter.com/manzurrashid" }, Alias = new Alias { Name = "shrnkr", IPAddress = "192.168.0.1", ShortUrl = new ShortUrl { Url = "http://shrinkr.com", Title = "Kool Url Shrinking Service" } } }; dto = new VisitDTO(visit); result = new VisitResult(dto); }
static async System.Threading.Tasks.Task Main(string[] args) { //var c = new CancellationTokenSource(); using (var browserService = new ChromeBrowserManager()) { IBrowserBatch <VisitResult> visitBrowserBatch = new VisitBrowserBatch("username", "password"); await browserService.ExecuteAsync(visitBrowserBatch, (cb, wd) => { VisitResult result = cb.Data; Console.WriteLine($"Result: {result.SomeData}"); }, new CancellationToken()); await Task.Delay(-1); //await browserService.ExecuteAsync(visitBrowserBatch, (cb, wd) => //{ // VisitResult result = cb.Data; // Console.WriteLine($"Result: {result.SomeData}"); //}, c.Token); //c.Cancel(); } }