1
2context("VS/ES indexing")
3
4test_that("I can index a vs twice", {
5
6  edges <- data.frame(
7    stringsAsFactors = TRUE,
8    from    = c("BOS", "JFK", "DEN", "BOS", "JFK", "DEN"),
9    to      = c("JFK", "DEN", "ABQ", "JFK", "DEN", "ABQ"),
10    carrier = c("foo", "foo", "foo", "bar", "bar", "bar")
11  )
12
13  vertices <- data.frame(
14    stringsAsFactors = TRUE,
15    id      = c("BOS", "JFK", "DEN", "ABQ"),
16    state   = c("MA",  "NY",  "CO",  "NM")
17  )
18
19  g <- graph_from_data_frame(edges, vertices = vertices)
20
21  x <- V(g)[ 3:4 ] [ state == 'NM' ]
22
23  expect_equal(x, V(g)['ABQ'])
24})
25
26test_that("I can index an es twice", {
27
28  edges <- data.frame(
29    stringsAsFactors = TRUE,
30    from    = c("BOS", "JFK", "DEN", "BOS", "JFK", "DEN"),
31    to      = c("JFK", "DEN", "ABQ", "JFK", "DEN", "ABQ"),
32    carrier = c("foo", "foo", "foo", "bar", "bar", "bar")
33  )
34
35  g <- graph_from_data_frame(edges)
36
37  x <- E(g)['BOS' %->% 'JFK'][carrier == 'foo']
38
39  expect_equal(x, E(g)[ carrier == 'foo' & .from('BOS') & .to('JFK')])
40})
41