Search in sources :

Example 6 with Rectangle

use of dev.morphia.test.models.Rectangle in project morphia by mongodb.

the class TestTransactions method save.

@Test
public void save() {
    Rectangle rectangle = new Rectangle(1, 1);
    getDs().withTransaction((session) -> {
        session.save(rectangle);
        assertNull(getDs().find(Rectangle.class).first());
        assertNotNull(session.find(Rectangle.class).first());
        rectangle.setWidth(42);
        session.save(rectangle);
        assertNull(getDs().find(Rectangle.class).first());
        assertEquals(session.find(Rectangle.class).first().getWidth(), 42, 0.5);
        return null;
    });
    assertNotNull(getDs().find(Rectangle.class).first());
}
Also used : Rectangle(dev.morphia.test.models.Rectangle) Test(org.testng.annotations.Test)

Example 7 with Rectangle

use of dev.morphia.test.models.Rectangle in project morphia by mongodb.

the class TestTransactions method merge.

@Test
public void merge() {
    Rectangle rectangle = new Rectangle(1, 1);
    getDs().save(rectangle);
    assertEquals(getDs().find(Rectangle.class).count(), 1);
    getDs().withTransaction((session) -> {
        assertEquals(getDs().find(Rectangle.class).first(), new Rectangle(1, 1));
        assertEquals(session.find(Rectangle.class).first(), new Rectangle(1, 1));
        rectangle.setWidth(20);
        session.merge(rectangle);
        assertEquals(getDs().find(Rectangle.class).first().getWidth(), 1, 0.5);
        assertEquals(session.find(Rectangle.class).first().getWidth(), 20, 0.5);
        return null;
    });
    assertEquals(getDs().find(Rectangle.class).first().getWidth(), 20, 0.5);
}
Also used : Rectangle(dev.morphia.test.models.Rectangle) Test(org.testng.annotations.Test)

Example 8 with Rectangle

use of dev.morphia.test.models.Rectangle in project morphia by mongodb.

the class TestTransactions method insertList.

@Test
public void insertList() {
    List<Rectangle> rectangles = List.of(new Rectangle(5, 7), new Rectangle(1, 1));
    getDs().withTransaction((session) -> {
        session.insert(rectangles);
        assertNull(getDs().find(Rectangle.class).first());
        assertEquals(session.find(Rectangle.class).iterator().toList(), rectangles);
        return null;
    });
    assertEquals(getDs().find(Rectangle.class).count(), 2);
}
Also used : Rectangle(dev.morphia.test.models.Rectangle) Test(org.testng.annotations.Test)

Example 9 with Rectangle

use of dev.morphia.test.models.Rectangle in project morphia by mongodb.

the class TestTransactions method remove.

@Test
public void remove() {
    Rectangle rectangle = new Rectangle(1, 1);
    getDs().save(rectangle);
    getDs().withTransaction((session) -> {
        assertNotNull(getDs().find(Rectangle.class).first());
        assertNotNull(session.find(Rectangle.class).first());
        session.find(Rectangle.class).delete();
        assertNotNull(getDs().find(Rectangle.class).first());
        assertNull(session.find(Rectangle.class).first());
        return null;
    });
    assertNull(getDs().find(Rectangle.class).first());
}
Also used : Rectangle(dev.morphia.test.models.Rectangle) Test(org.testng.annotations.Test)

Example 10 with Rectangle

use of dev.morphia.test.models.Rectangle in project morphia by mongodb.

the class TestQuery method testAliasedFieldSort.

@Test
public void testAliasedFieldSort() {
    getDs().save(asList(new Rectangle(1, 10), new Rectangle(3, 8), new Rectangle(6, 10), new Rectangle(10, 10), new Rectangle(10, 1)));
    Rectangle r1 = getDs().find(Rectangle.class).iterator(new FindOptions().sort(ascending("w")).limit(1)).tryNext();
    assertNotNull(r1);
    assertEquals(r1.getWidth(), 1, 0);
    r1 = getDs().find(Rectangle.class).iterator(new FindOptions().sort(descending("w")).limit(1)).tryNext();
    assertNotNull(r1);
    assertEquals(r1.getWidth(), 10, 0);
}
Also used : FindOptions(dev.morphia.query.FindOptions) Rectangle(dev.morphia.test.models.Rectangle) Test(org.testng.annotations.Test)

Aggregations

Rectangle (dev.morphia.test.models.Rectangle)26 Test (org.testng.annotations.Test)25 FindOptions (dev.morphia.query.FindOptions)12 Datastore (dev.morphia.Datastore)2 Key (dev.morphia.Key)2 User (dev.morphia.test.models.User)2 ArrayList (java.util.ArrayList)2 MongoQueryException (com.mongodb.MongoQueryException)1 UpdateResult (com.mongodb.client.result.UpdateResult)1 UpdateOptions (dev.morphia.UpdateOptions)1 MorphiaSession (dev.morphia.experimental.MorphiaSession)1 FacebookUser (dev.morphia.test.models.FacebookUser)1 Keys (dev.morphia.test.models.Keys)1 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 BeforeMethod (org.testng.annotations.BeforeMethod)1