public void Should_change_collection_properties()
{
Database.CreateTestDatabase(Database.TestDatabaseGeneral);
var db = new ADatabase(Database.Alias);
var createResult = db.Collection
.Create(Database.TestDocumentCollectionName);
const long journalSize = 199999999;
var operationResult = db.Collection
.WaitForSync(true)
.JournalSize(journalSize)
.ChangeProperties(createResult.Value.String("name"));
Assert.AreEqual(200, operationResult.StatusCode);
Assert.IsTrue(operationResult.Success);
Assert.IsTrue(operationResult.HasValue);
Assert.AreEqual(createResult.Value.String("id"), operationResult.Value.String("id"));
Assert.AreEqual(createResult.Value.String("name"), operationResult.Value.String("name"));
Assert.AreEqual(createResult.Value.Bool("isSystem"), operationResult.Value.Bool("isSystem"));
Assert.AreEqual(createResult.Value.Int("status"), operationResult.Value.Int("status"));
Assert.AreEqual(createResult.Value.Int("type"), operationResult.Value.Int("type"));
Assert.IsFalse(operationResult.Value.Bool("isVolatile"));
Assert.IsTrue(operationResult.Value.Bool("doCompact"));
Assert.AreEqual(AKeyGeneratorType.Traditional, operationResult.Value.Enum<AKeyGeneratorType>("keyOptions.type"));
Assert.IsTrue(operationResult.Value.Bool("keyOptions.allowUserKeys"));
Assert.IsTrue(operationResult.Value.Bool("waitForSync"));
Assert.IsTrue(operationResult.Value.Long("journalSize") == journalSize);
}