С SQL 2008 пространственные функции, как я могу создать LINESTRING представление строки между два (или больше) экземпляры ТОЧКИ?

Вы довольно близко! Вы можете сделать следующее, чтобы получить счетчик, где h3 содержит слово «ebay» и подтвердить правильность отображаемого числа:

def "checking for word"() {
    given: " Search for word 'ebay' in google"

    go "https://www.google.pl/"

    $("body").find("input", name: "q").value("ebay")
    $("center").$("input", 0, name: "btnK").click()
    waitFor { title.endsWith(" Szukaj w Google")}

    then: "Correct results are show"

    $("h3").count { it.text().toLowerCase().contains("ebay") } == 10
}

Обратите внимание на toLowerCase(), так как большинство результатов возвращаются как «eBay» и не будут матч "Ebay".

Я бы порекомендовал просмотреть объекты страницы и создать GoogleHomePage и GoogleResultsPage, похожие на:

import geb.Page

class GoogleHomePage extends Page {

    static url = "http://www.google.com"

    static at = {
        logo.displayed
    }

    static content = {
        logo { $("#hplogo") }
        searchField { $("body").find("input", name: "q") }
        searchButton { $("center").$("input", 0, name: "btnK") }
    }

    ResultsPage searchFor(String search) {
        searchField.value(search)
        searchButton.click()

        browser.at(ResultsPage)
    }
}

Страница результатов:

import geb.Page

class ResultsPage extends Page {

    static at = { title.endsWith(" Szukaj w Google") }

    static content = {

        results { $("h3") }
    }

    def countResultsContaining(String expectedResultPhrase) {
        results.count { it.text().toLowerCase().contains(expectedResultPhrase) }
    }
}

Затем ваш тест заканчивается намного чище без всех селекторов и т. д., и у вас есть код для повторного использования:

class GoogleSpec extends GebReportingSpec {

    def "checking for word"() {
        given: " Search for word 'ebay' in google"

        def searchPhrase = "ebay"
        def googlePage = to GoogleHomePage

        when: "I search for ebay"

        def resultsPage = googlePage.searchFor(searchPhrase)

        then: "Correct results are shown"

        resultsPage.countResultsContaining(searchPhrase) == 10
    }
}

Что касается ресурсов, руководство по Geb хорошо, но Geb написан на Groovy - поэтому поиск того, как это сделать, используя Groovy, а не Geb, поможет вам.

5
задан Cade Roux 23 January 2009 в 20:13
поделиться

1 ответ

Существует два способа сделать это в T-SQL:

declare @p1 geography = 'POINT(1 2)', @p2 geography = 'POINT(6 8)';

-- using geometry
SELECT geography::Parse(geometry::Parse(@p2.STUnion(@p1).ToString()).STConvexHull().ToString())

-- using lat, long methods
SELECT geography::Parse('LINESTRING('+str(@p1.Long)+' '+str(@p1.Lat)+','+str(@p2.Long)+' '+str(@p2.Lat)+')')
5
ответ дан 14 December 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: