public async void DropIndexAsync_WhenNamed_ReturnsValidStatement()
        {
            //arange
            var mockBucket = new Mock <IBucket>();

            mockBucket.Setup(x => x.Name).Returns("beer-sample");
            var bucketManager     = new TestableBucketManager(mockBucket.Object);
            var expectedStatement = "DROP INDEX `beer-sample`.`theName` USING GSI;";

            //act
            var result = (DefaultResult <string>) await bucketManager.DropIndexAsync("theName");

            //assert
            Assert.AreEqual(expectedStatement, result.Value);
        }
        public async void CreateIndexAsync_WhenNamedAndManyFields_ReturnsValidStatement()
        {
            //arange
            var mockBucket = new Mock <IBucket>();

            mockBucket.Setup(x => x.Name).Returns("beer-sample");
            var bucketManager     = new TestableBucketManager(mockBucket.Object);
            var expectedStatement = "CREATE INDEX `theName` ON `beer-sample`(`name`, `id`) USING GSI WITH {\"defer_build\":false};";

            //act
            var result = (DefaultResult <string>) await bucketManager.CreateIndexAsync("theName", false, "name", "id");

            //assert
            Assert.AreEqual(expectedStatement, result.Value);
        }
        public async void DropPrimaryIndexAsync_ReturnsValidStatement()
        {
            //arange
            var mockBucket = new Mock <IBucket>();

            mockBucket.Setup(x => x.Name).Returns("beer-sample");
            var bucketManager     = new TestableBucketManager(mockBucket.Object);
            var expectedStatement = "DROP PRIMARY INDEX ON `beer-sample` USING GSI;";

            //act
            var result = await bucketManager.DropPrimaryIndexAsync();

            //assert
            Assert.AreEqual(expectedStatement, ((DefaultResult <string>)result).Value);
        }
        public async void CreatePrimaryIndexAsync_WithDeferTrue_ReturnsValidStatement()
        {
            //arange
            var mockBucket = new Mock <IBucket>();

            mockBucket.Setup(x => x.Name).Returns("beer-sample");
            var bucketManager     = new TestableBucketManager(mockBucket.Object);
            var expectedStatement = "CREATE PRIMARY INDEX ON `beer-sample` USING GSI WITH {\"defer_build\":true};";

            //act
            var result = (DefaultResult <string>) await bucketManager.CreatePrimaryIndexAsync(true);

            //assert
            Assert.AreEqual(expectedStatement, result.Value);
        }