Skip to content

Another failing case, post #72 and #93 #96

@cpotter1

Description

@cpotter1
//  @Ignore // still broken as of 3.0.2 (even after #72 and #93 was fixed)
  @Test
  public void orderByOnNullableColumn3() {
    NitriteCollection coll = db.getCollection("orderByOnNullableColumn3");
    try {
      coll.createIndex("startTime", IndexOptions.indexOptions(IndexType.NonUnique));
    } catch (IndexingException e) {
      // ignore
    }

    coll.remove(Filters.ALL);

    Document doc = new Document().put("id", "test-1").put("group", "groupA");
    assertEquals(1, coll.insert(doc).getAffectedCount());
    System.out.println("doc1=" + doc);

    doc = new Document().put("id", "test-2").put("group", "groupA").put("startTime", DateTime.now());
    assertEquals(1, coll.insert(doc).getAffectedCount());
    System.out.println("doc2=" + doc);

    doc = new Document().put("id", "test-3").put("group", "groupA").put("startTime", DateTime.now().plusMinutes(1));
    assertEquals(1, coll.insert(doc).getAffectedCount());
    System.out.println("doc3=" + doc);

    Cursor cursor = coll.find(Filters.eq("group", "groupA"), FindOptions.sort("startTime", SortOrder.Descending));
    assertEquals(3, cursor.size());

    Iterator<Document> iter = cursor.iterator();
    Document doc1 = iter.next();
    Document doc2 = iter.next();
    Document doc3 = iter.next();
    assertEquals("test-1", doc3.get("id").toString());  // TODO: note, one can argue that this should have been last!
    assertEquals("test-3", doc2.get("id").toString());
    assertEquals("test-2", doc1.get("id").toString());
  }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions