Package org.infinispan.query.dsl.impl

Source Code of org.infinispan.query.dsl.impl.CreationTest

package org.infinispan.query.dsl.impl;

import org.infinispan.query.dsl.FilterConditionContext;
import org.infinispan.query.dsl.Query;
import org.infinispan.query.dsl.QueryFactory;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;

/**
* @author anistor@redhat.com
* @since 7.0
*/
public class CreationTest {

   @Rule
   public ExpectedException expectedException = ExpectedException.none();

   @Test
   public void testWithDifferentFactory1() {
      QueryFactory qf1 = new DummyQueryFactory();
      QueryFactory qf2 = new DummyQueryFactory();

      expectedException.expect(IllegalArgumentException.class);
      expectedException.expectMessage("The given condition was created by a different factory");

      qf1.from("MyDummyType")
            .not(qf2.having("attr1").eq("1")); // exception expected
   }

   @Test
   public void testWithDifferentFactory2() {
      QueryFactory qf1 = new DummyQueryFactory();
      QueryFactory qf2 = new DummyQueryFactory();

      expectedException.expect(IllegalArgumentException.class);
      expectedException.expectMessage("The given condition was created by a different factory");

      qf1.from("MyDummyType")
            .having("attr1").eq("1")
            .and(qf2.having("attr2").eq("2")); // exception expected
   }

   @Test
   public void testWithDifferentFactory3() {
      QueryFactory qf1 = new DummyQueryFactory();
      QueryFactory qf2 = new DummyQueryFactory();

      expectedException.expect(IllegalArgumentException.class);
      expectedException.expectMessage("The given condition was created by a different factory");

      qf1.from("MyDummyType")
            .having("attr1").eq("1")
            .or(qf2.having("attr2").eq("2")); // exception expected
   }

   @Test
   public void testWithDifferentBuilder1() {
      QueryFactory qf1 = new DummyQueryFactory();

      FilterConditionContext fcc = qf1.having("attr1").eq("1");

      Query q1 = qf1.from("MyDummyType")
            .not(fcc)
            .toBuilder().build();

      expectedException.expect(IllegalArgumentException.class);
      expectedException.expectMessage("The given condition is already in use by another builder");

      qf1.from("MyDummyType")
            .not(fcc);    // exception expected
   }

   @Test
   public void testWithDifferentBuilder2() {
      QueryFactory qf1 = new DummyQueryFactory();

      FilterConditionContext fcc = qf1.having("attr1").eq("1");

      Query q1 = qf1.from("MyDummyType")
            .not(fcc)
            .toBuilder().build();

      expectedException.expect(IllegalArgumentException.class);
      expectedException.expectMessage("The given condition is already in use by another builder");

      qf1.from("MyDummyType")
            .having("attr1").eq("1")
            .and(fcc);    // exception expected
   }

   @Test
   public void testWithDifferentBuilder3() {
      QueryFactory qf1 = new DummyQueryFactory();

      FilterConditionContext fcc = qf1.having("attr1").eq("1");

      Query q1 = qf1.from("MyDummyType")
            .not(fcc)
            .toBuilder().build();

      expectedException.expect(IllegalArgumentException.class);
      expectedException.expectMessage("The given condition is already in use by another builder");

      qf1.from("MyDummyType")
            .having("attr1").eq("1")
            .or(fcc);    // exception expected
   }
}
TOP

Related Classes of org.infinispan.query.dsl.impl.CreationTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.