Exemple #1
0
        public void MutationContainsAllSubmittedEdges()
        {
            List <Edge>     edges       = new List <Edge>();
            List <Property> properties  = new List <Property>();
            var             transaction = Substitute.For <ITransactionWithMutations>();
            IMutation       mut         = new Mutation();

            for (int i = 0; i < 10; i++)
            {
                edges.Add(new Edge(new NamedNode((ulong)i, "N" + i), "AnEdge", new NamedNode((ulong)i + 1, "N" + i)));
                properties.Add(new Property(new NamedNode((ulong)i, "N" + i), "AnEdge", GraphValue.BuildIntValue(i)));
            }

            for (int i = 0; i < 5; i++)
            {
                mut.AddEdge(edges[i]);
                mut.AddProperty(properties[i]);
            }

            for (int i = 5; i < 10; i++)
            {
                mut.DeleteEdge(edges[i]);
                mut.DeleteProperty(properties[i]);
            }

            transaction.When(x => x.ApiMutate(Arg.Any <Api.Mutation>()))
            .Do(x =>
            {
                Assert.True(AllEdgesInMutation(edges, x.Arg <Api.Mutation>()));
            });

            mut.SubmitTo(transaction);
        }