public void Equality()
        {
            var client = new FakeFirestoreClient();
            var db1    = FirestoreDb.Create("proj", "db", client);
            var db2    = FirestoreDb.Create("proj", "db", client);
            var db3    = FirestoreDb.Create("proj", "otherdb", client);

            var control = db1.Document("col1/doc1/col2/doc2");
            var equal   = new[]
            {
                db1.Document("col1/doc1/col2/doc2"),
                db2.Document("col1/doc1/col2/doc2"),
                db1.Collection("col1").Document("doc1").Collection("col2").Document("doc2")
            };
            var unequal = new[]
            {
                db1.Document("col1x/doc1/col2/doc2"),
                db1.Document("col1/doc1x/col2/doc2"),
                db1.Document("col1/doc1/col2x/doc2"),
                db1.Document("col1/doc1/col2/doc2x"),
                db3.Document("col1/doc1/col2/doc2"),
                db1.Document("col1/doc1"),
                db1.Document("col2/doc2"),
            };

            EqualityTester.AssertEqual(control, equal, unequal);
        }
        public async Task CreateAsync()
        {
            var client = new FakeFirestoreClient();
            var db     = await FirestoreDb.CreateAsync("proj", "db", client);

            Assert.Equal("projects/proj/databases/db", db.RootPath);
            Assert.Equal("projects/proj/databases/db/documents", db.DocumentsPath);
            Assert.Same(client, db.Client);
        }