public void EvaluateParentOnArrayMember()
        {
            JObject o = JObject.Parse(@"{
    ""store"": {
      ""book"": [
        {
          ""category"": ""reference"",
          ""author"": ""Nigel Rees"",
          ""title"": ""Sayings of the Century"",
          ""price"": 8.95
        },
        {
          ""category"": ""fiction"",
          ""author"": ""Evelyn Waugh"",
          ""title"": ""Sword of Honour"",
          ""price"": 12.99
        },
        {
          ""category"": ""fiction"",
          ""author"": ""Herman Melville"",
          ""title"": ""Moby Dick"",
          ""isbn"": ""0-553-21311-3"",
          ""price"": 8.99
        },
        {
          ""category"": ""fiction"",
          ""author"": ""J. R. R. Tolkien"",
          ""title"": ""The Lord of the Rings"",
          ""isbn"": ""0-395-19395-8"",
          ""price"": 22.99
        }
      ],
      ""bicycle"": {
        ""color"": ""red"",
        ""price"": 19.95
      }
    }
  }");

            var hits = o.SelectTokens("store.book[0]^").ToList();

            var expectedHits = new[] { o.SelectToken("store.book") };

            Assert.That(hits, Is.EquivalentTo(expectedHits));
        }
        public void EvaluatePropertyNameOnWilcardArrayMember()
        {
            JObject o = JObject.Parse(@"{
        ""Stores"": [
          ""Lambton Quay"",
          ""Willis Street""
        ],
        ""Manufacturers"": [
          {
            ""Name"": ""Acme Co"",
            ""Products"": [
              {
                ""Name"": ""Anvil"",
                ""Price"": 50
              }
            ]
          },
          {
            ""Name"": ""Contoso"",
            ""Products"": [
              {
                ""Name"": ""Elbow Grease"",
                ""Price"": 99.95
              },
              {
                ""Name"": ""Headlight Fluid"",
                ""Price"": 4
              }
            ]
          }
        ]
      }");

            var indices = o.SelectTokens("Manufacturers[*]~").Select(token => (int)token).ToList();

            var expectedIndices = new[] { 0, 1 };

            Assert.That(indices, Is.EquivalentTo(expectedIndices));
        }
 public ConstructorParametersRespectDefaultValue(string parameter1, string parameter2)
 {
     Assert.That(parameter1 == DefaultValue);
     Assert.That(parameter2 == DefaultValue);
 }