protected override bool MatchesImpl(IAttributeBag attributeBag, ConstraintContext context) { string classValue = attributeBag.GetAttributeValue("class"); if (classValue == null) classValue = attributeBag.GetAttributeValue("ClassName"); if (classValue == null) return false; return _comparer.Compare(classValue); }
private static void VerifyComparerIsUsed(string tagname, bool expectedResult) { var INativeElementStub = new Mock <INativeElement>(); var domContainerMock = new Mock <DomContainer>(); var element = new Element(domContainerMock.Object, INativeElementStub.Object); INativeElementStub.Expect(native => native.TagName).Returns("testtagname"); var elementComparerMock = new ElementComparerMock(tagname); var elementConstraint = new ElementConstraint(elementComparerMock); ConstraintContext context = new ConstraintContext(); Assert.That(elementConstraint.Matches(element, context) == expectedResult); }
public void Find_bytext_should_match_equal_innertext() { // GIVEN const string innerText = "textvalue"; var mockAttributeBag = new MockAttributeBag("innertext", innerText); var context = new ConstraintContext(); // WHEN var value = Find.ByText("textvalue"); var matches = value.Matches(mockAttributeBag, context); // THEN Assert.That(matches, Is.True, "Should match"); }
public void Find_bytext_should_match_when_text_to_find_contains_regex_char() { // GIVEN const string innerTextWithSpaces = "textvalue?"; var mockAttributeBag = new MockAttributeBag("innertext", innerTextWithSpaces); var context = new ConstraintContext(); // WHEN var value = Find.ByText("textvalue?"); var matches = value.Matches(mockAttributeBag, context); // THEN Assert.That(matches, Is.True, "Should match"); }
private IEnumerable <Element> WrapMatchingElements(IEnumerable <INativeElement> nativeElements) { var context = new ConstraintContext(); foreach (var nativeElement in nativeElements) { var element = WrapElementIfMatch(nativeElement, context); if (element == null) { continue; } yield return(element); } }
/// <inheritdoc /> public override IEnumerable <IE> GetComponents() { var context = new ConstraintContext(); foreach (IE ie in internetExplorers) { if (ie.Matches(findBy, context)) { if (waitForComplete) { ie.WaitForComplete(); } yield return(ie); } } }
protected override bool MatchesImpl(IAttributeBag attributeBag, ConstraintContext context) { string classValue = attributeBag.GetAttributeValue("class"); if (classValue == null) { classValue = attributeBag.GetAttributeValue("ClassName"); } if (classValue == null) { return(false); } return(_comparer.Compare(classValue)); }
/// <inheritdoc /> protected override IEnumerable <HtmlDialog> GetComponents() { var context = new ConstraintContext(); foreach (var htmlDialog in htmlDialogs) { if (!htmlDialog.Matches(findBy, context)) { continue; } if (waitForComplete) { htmlDialog.WaitForComplete(); } yield return(htmlDialog); } }
public void TestMatchesImpl() { Mock <IAttributeBag> attributeBag = new Mock <IAttributeBag>(); ConstraintContext constraintContext = new ConstraintContext(); Mock <Constraint> constraint = new Mock <Constraint>(); constraint.Expect(c => c.MatchesImpl(attributeBag.Object, constraintContext)) .Verifiable(); CssSelectorConstraint_allowingMockedInternal sut = new CssSelectorConstraint_allowingMockedInternal(); sut.SetActualConstraint(constraint.Object); sut.MatchesImpl(attributeBag.Object, constraintContext); constraint.Verify(); }
private static IE FindIEPartiallyInitialized(Constraint findBy) { var allBrowsers = new ShellWindows2(); var context = new ConstraintContext(); foreach (IWebBrowser2 browser in allBrowsers) { var ie = new IE(browser, false); if (ie.Matches(findBy, context)) { return(ie); } } return(null); }
private static void VerifyComparerIsUsed(string tagname, bool expectedResult) { var nativeElementMock = new Mock <INativeElement>(); var domContainerMock = new Mock <DomContainer>(); nativeElementMock.Expect(x => x.IsElementReferenceStillValid()).Returns(true); var element = new Element(domContainerMock.Object, nativeElementMock.Object); nativeElementMock.Expect(native => native.TagName).Returns("testtagname"); var elementComparerMock = new ElementComparerMock(tagname); var elementConstraint = new ElementConstraint(elementComparerMock); ConstraintContext context = new ConstraintContext(); Assert.That(elementConstraint.Matches(element, context) == expectedResult); }
internal IE FindIEPartiallyInitialized(Constraint findBy) { var allBrowsers = new ShellWindows2(); var context = new ConstraintContext(); foreach (IWebBrowser2 browser in allBrowsers) { var ie = CreateBrowserInstance(new IEBrowser(browser)); if (ie.Matches(findBy, context)) { return(ie); } } return(null); }
public void IdWithRegexAndComparer() { var context = new ConstraintContext(); var mockAttributeBag = new MockAttributeBag("id", "idvalue"); Constraint value = Find.ById(new Regex("lue$")); Assert.IsTrue(value.Matches(mockAttributeBag, context), "Regex lue$ should match."); // See if mocked comparer is used. VerifyAll will check this var comparerMock = new Mock <Comparer <string> >(); comparerMock.Expect(comparer => comparer.Compare("MyMockComparer")).Returns(true); mockAttributeBag = new MockAttributeBag("id", "MyMockComparer"); Find.ById(comparerMock.Object).Matches(mockAttributeBag, context); comparerMock.VerifyAll(); }
/// <inheritdoc /> public virtual bool Exists(Constraint findBy) { if (findBy == null) { throw new ArgumentNullException("findBy"); } var context = new ConstraintContext(); foreach (TComponent component in this) { if (component.Matches(findBy, context)) { return(true); } } return(false); }
private static void AssertUrlValue(AttributeConstraint value) { Assert.AreEqual(Href, value.AttributeName, "Wrong attributename"); Assert.That(value.Comparer.ToString(), Text.Contains("'" + WatiNURI.AbsoluteUri + "'"), "Wrong value"); var mockAttributeBag = new MockAttributeBag(Href, WatiNURI.AbsoluteUri); var context = new ConstraintContext(); Assert.IsTrue(value.Matches(mockAttributeBag, context), "Should match WatiN url"); mockAttributeBag = new MockAttributeBag(Href, "http://www.microsoft.com"); Assert.IsFalse(value.Matches(mockAttributeBag, context), "Shouldn't match Microsoft"); mockAttributeBag = new MockAttributeBag(Href, null); Assert.IsFalse(value.Matches(mockAttributeBag, context), "Null should not match"); mockAttributeBag = new MockAttributeBag(Href, String.Empty); Assert.IsFalse(value.Matches(mockAttributeBag, context), "Null should not match"); }
private Element WrapElementIfMatch(INativeElement nativeElement, ConstraintContext context) { nativeElement.WaitUntilReady(); if (IsMatchByTag(nativeElement)) { var element = WrapElement(nativeElement); if (element == null) { return(null); } if (IsMatchByConstraint(element, context)) { return(element); } } return(null); }
public void FindByID() { var value = Find.ById("idvalue"); Assert.IsInstanceOf(typeof(Constraint), value, "Id class should inherit Attribute class"); Assert.That(value.Comparer, Is.TypeOf(typeof(StringComparer)), "Unexpected comparer"); const string id = "id"; Assert.AreEqual(id, value.AttributeName, "Wrong attributename"); Assert.That(value.Comparer.ToString(), Text.Contains("'idvalue'"), "Wrong value"); var mockAttributeBag = new MockAttributeBag("id", "idvalue"); var context = new ConstraintContext(); value = Find.ById(new StringContainsAndCaseInsensitiveComparer("Val")); Assert.That(value.Matches(mockAttributeBag, context), Is.True, "Comparer not used"); value = Find.ById(text => text == "idvalue"); Assert.That(value.Matches(mockAttributeBag, context), Is.True, "PredicateComparer not used"); }
public void RecusiveCallExceptionExpected() { var mockAttributeBag = new Mock <IAttributeBag>(); // Note: Creating a re-entrant constraint is now much more difficult than // before because constraints are immutable. Even the code findBy |= findBy // will not create a re-entrant constraint, it will just be an Or constraint // with two identical clauses. Given this change in constraint construction // we should consider removing the re-entrance checks in the future. -- Jeff. Constraint findBy = Find.By("tag", "value"); findBy |= new PredicateConstraint <IAttributeBag>(bag => findBy.Matches(bag, new ConstraintContext())); ConstraintContext context = new ConstraintContext(); mockAttributeBag.Expect(bag => bag.GetAttributeValue("tag")).Returns("val"); mockAttributeBag.Expect(bag => bag.GetAdapter <IAttributeBag>()).Returns(mockAttributeBag.Object); findBy.Matches(mockAttributeBag.Object, context); mockAttributeBag.VerifyAll(); }
public void FindBy() { const string id = "id"; var value = Find.By(id, "idvalue"); Assert.That(value.Comparer, Is.TypeOf(typeof(StringComparer)), "Unexpected comparer"); Assert.AreEqual(id, value.AttributeName, "Wrong attributename"); Assert.That(value.Comparer.ToString(), Text.Contains("'idvalue'"), "Wrong value"); var mockAttributeBag = new MockAttributeBag(id, "idvalue"); var context = new ConstraintContext(); Assert.IsTrue(value.Matches(mockAttributeBag, context), "Compare should match"); mockAttributeBag = new MockAttributeBag(id, "id"); Assert.IsFalse(value.Matches(mockAttributeBag, context), "Compare should not partial match id"); mockAttributeBag = new MockAttributeBag(id, "val"); Assert.IsFalse(value.Matches(mockAttributeBag, context), "Compare should not partial match val"); mockAttributeBag = new MockAttributeBag(id, "value"); Assert.IsFalse(value.Matches(mockAttributeBag, context), "Compare should not partial match value"); var regex = new Regex("lue$"); value = Find.By(id, regex); mockAttributeBag = new MockAttributeBag(id, "idvalue"); Assert.IsTrue(value.Matches(mockAttributeBag, context), "Regex lue$ should match"); value = Find.By(id, new StringContainsAndCaseInsensitiveComparer("dVal")); Assert.That(value.Matches(mockAttributeBag, context), Is.True, "Comparer not used"); _expectedPredicateCompareValue = "idvalue"; value = Find.By(id, TestPredicateCompareMethod); Assert.That(value.Matches(mockAttributeBag, context), Is.True, "PredicateComparer not used"); }
public void FindByUrl() { var url = WatiNURI.AbsoluteUri; var value = Find.ByUrl(url); Assert.IsInstanceOf(typeof(Constraint), value, "Url class should inherit AttributeConstraint class"); Assert.That(value.Comparer, Is.TypeOf(typeof(UriComparer)), "Unexpected comparer"); AssertUrlValue(value); // make sure overload also works value = Find.ByUrl(url, true); Assert.IsInstanceOf(typeof(Constraint), value, "Url class should inherit AttributeConstraint class"); AssertUrlValue(value); var mockAttributeBag = new MockAttributeBag("href", url); var context = new ConstraintContext(); value = Find.ByUrl(new StringContainsAndCaseInsensitiveComparer("/watin.Sour")); Assert.That(value.Matches(mockAttributeBag, context), Is.True, "Comparer not used"); value = Find.ByUrl(text => text == url); Assert.That(value.Matches(mockAttributeBag, context), Is.True, "PredicateComparer not used"); }
void ICheckConstraint <Library> .ExecuteConstraint(Library mel, ConstraintContext ctx) { }
private bool IsMatchByConstraint(Component element, ConstraintContext context) { return(element.Matches(Constraint, context)); }
protected override bool MatchesImpl(IAttributeBag attributeBag, ConstraintContext context) { var element = attributeBag.GetAdapter <Element>(); return(element != null && Comparer.Compare(IsVisible(element).ToString())); }
protected override bool MatchesImpl(WatiN.Core.Interfaces.IAttributeBag attributeBag, ConstraintContext context) { var element = attributeBag as Element; if (element == null) { var frame = attributeBag as Frame; if (frame != null) { element = frame.FrameElement; } } var nativeElement = element.NativeElement as IEElement; mshtml.IHTMLElement el = nativeElement.AsHtmlElement; return(XPathCompare((IHTMLDOMNode)el)); }
public override bool MatchesImpl(IAttributeBag attributeBag, ConstraintContext context) { return(ActualConstraint.MatchesImpl(attributeBag, context)); }
public override bool Allow(MySub message, ConstraintContext context, dynamic constraint) { called[GetType()] = true; return(results[GetType()]); }
public override bool Allow(IOuterGeneric <EntityBase> message, ConstraintContext context, dynamic constraint) { Called = true; return(true); }
public void OnGui(Rect position, bool addSearchField, Action <Type> onSelect, Type activeType, Type parentType) { ConstraintContext.ApplyTarget(parentType); OnGui(position, addSearchField, onSelect, activeType); }
/// <summary> /// Returns true if the component matches the specified constraint. /// </summary> /// <param name="constraint">The constraint to match, not null</param> /// <param name="context">The constraint context, not null</param> /// <returns>True if the component matches the constraint</returns> public bool MatchesImpl(Constraint constraint, ConstraintContext context) { return(constraint.Matches(this, context)); }
public override bool Allow(ConstrainedEvent message, ConstraintContext context, ConstrainedEventConstraint constraint) { return(message.Message == constraint.Message); }
public override bool Allow(MySub message, ConstraintContext context, dynamic constraint) { return(true); }