Example #1
0
        public void TestDirectiveWithFabricDirective()
        {
            Skip    skip    = Directive.Skip("state");
            Include include = Directive.Include("active");

            Assert.AreEqual("@skip(if:$state)", skip.Convert());
            Assert.AreEqual("@include(if:$active)", include.Convert());
        }
Example #2
0
        public void TestDirectiveInstanceOf()
        {
            Skip    skip0    = new Skip("state");
            Include include0 = new Include("active");

            Skip    skip1    = Directive.Skip("state");
            Include include1 = Directive.Include("active");

            Skip    skip2    = Skip.Create("state");
            Include include2 = Include.Create("active");

            Assert.IsInstanceOfType(skip0, typeof(Skip));
            Assert.IsInstanceOfType(skip1, typeof(Skip));
            Assert.IsInstanceOfType(skip2, typeof(Skip));

            Assert.IsInstanceOfType(include0, typeof(Include));
            Assert.IsInstanceOfType(include1, typeof(Include));
            Assert.IsInstanceOfType(include2, typeof(Include));
        }
        public void TestField()
        {
            IField field0 = new Field("name");
            IField field1 = new Field("name", "alias");
            IField field2 = new Field(new QueryType("name", new Fields(new Field("name"))));
            IField field3 = new Field("name",
                                      new IDirective[] { Directive.Skip("status"), Directive.Include("active") });
            IField field4 = new Field("name", "alias", new IDirective[] { Directive.Include("active") });
            IField field5 = new Field(new QueryType("name", new Fields(new Field("name"))),
                                      new IDirective[] { Directive.Include("active") });

            Assert.IsInstanceOfType(field0, typeof(IField));
            Assert.IsInstanceOfType(field1, typeof(IField));
            Assert.IsInstanceOfType(field2, typeof(IField));
            Assert.IsInstanceOfType(field3, typeof(IField));
            Assert.IsInstanceOfType(field4, typeof(IField));

            Assert.AreEqual(field0.Name, "name");
            Assert.AreEqual(field0.Alias, null);
            Assert.AreEqual(field3.Name, "name");
            Assert.AreEqual(field3.Alias, null);

            Assert.IsInstanceOfType(field3.Directives[0].GetType(), typeof(Skip).GetType());
            Assert.IsInstanceOfType(field3.Directives[1].GetType(), typeof(Include).GetType());

            Assert.AreEqual(field1.Name, "name");
            Assert.AreEqual(field1.Alias, "alias");
            Assert.AreEqual(field4.Name, "name");
            Assert.AreEqual(field4.Alias, "alias");
            Assert.IsInstanceOfType(field4.Directives[0].GetType(), typeof(Include).GetType());

            Assert.AreEqual(field2.Name, null);
            Assert.AreEqual(field2.Alias, null);
            Assert.IsInstanceOfType(field2.QueryType, typeof(IQueryType));

            Assert.IsNotNull(field5);
            Assert.IsTrue(string.IsNullOrEmpty(field5.Alias));
            Assert.IsNull(field5?.FragmentType);
            Assert.IsNotNull(field5?.Directives);
            Assert.IsNotNull(field5.QueryType);
        }