Ejemplo n.º 1
0
        public void Should_throw_when_query_without_recursive_has_duplicate_aliases()
        {
            using (var store = GetDocumentStore())
            {
                Samples.CreateDogDataWithCycle(store);

                using (var session = store.OpenSession())
                {
                    var e = Assert.Throws <InvalidQueryException>(() => session.Advanced.RawQuery <JObject>(@"
                        match (Dogs as d2)-[Likes]->(Dogs as d2)-[Likes]->(d2)").ToArray());

                    Assert.False(e.Message.Contains("implicit", StringComparison.OrdinalIgnoreCase));
                    Assert.True(e.Message.Contains("duplicate", StringComparison.OrdinalIgnoreCase));
                    Assert.True(e.Message.Contains("alias", StringComparison.OrdinalIgnoreCase));
                }
            }
        }
Ejemplo n.º 2
0
        public void Should_throw_when_query_has_the_same_aliases_inside_and_outside_recursive()
        {
            using (var store = GetDocumentStore())
            {
                Samples.CreateDogDataWithCycle(store);

                using (var session = store.OpenSession())
                {
                    var e = Assert.Throws <InvalidQueryException>(() => session.Advanced.RawQuery <JObject>(@"
                        match (Dogs as d2)-recursive as r { [Likes as l] ->(Dogs as d2) }
                        select d2.Name as dogName, r.l.Name as l, r.d2.Name as DogName2            ").ToArray());

                    Assert.False(e.Message.Contains("implicit", StringComparison.OrdinalIgnoreCase));
                    Assert.True(e.Message.Contains("duplicate", StringComparison.OrdinalIgnoreCase));
                    Assert.True(e.Message.Contains("alias", StringComparison.OrdinalIgnoreCase));
                }
            }
        }