public void GetCommandText_CubeFilterAndMeasureGroupFilter_CorrectStatement()
        {
            var filters = new CaptionFilter[]
            {
                new CaptionFilter(Target.Perspectives, "cubeName")
                , new CaptionFilter(Target.MeasureGroups, "measureGroupName")
            };

            var builder = new MeasureDiscoveryCommandBuilder();
            builder.Build(filters);
            var commandText = builder.GetCommandText();
            Assert.That(commandText.Replace(" ", "").ToLower(), Is.StringContaining("[cube_name]='cubeName'".ToLower()));
            Assert.That(commandText.Replace(" ", "").ToLower(), Is.StringContaining("[measuregroup_name]='measureGroupName'".ToLower()));
        }
        public void GetPostFilters_FiltersContainDisplayFolder_PostCommandFilterIsNotEmpty()
        {
            var filters = new CaptionFilter[]
            {
                new CaptionFilter(Target.Perspectives, "my perspective")
                , new CaptionFilter(Target.DisplayFolders, "my display-folder")
            };

            var builder = new SetDiscoveryCommandBuilder();
            builder.Build(filters);
            var postFilters = builder.GetPostFilters();

            Assert.That(postFilters, Is.Not.Null.And.Not.Empty);
        }
        public void GetCommandText_FiltersContainDisplayFolder_CommandFiltersDoesNotContainDoubleAnd()
        {
            var filters = new CaptionFilter[]
            {
                new CaptionFilter(Target.Perspectives, "my perspective")
                , new CaptionFilter(Target.DisplayFolders, "my display-folder")
            };

            var builder = new SetDiscoveryCommandBuilder();
            builder.Build(filters);
            var commandText = builder.GetCommandText();

            Assert.That(commandText.Replace(" ", "").ToLower(), Is.Not.StringContaining("andand"));
        }
        public void GetCommandText_CubeFilterMeasureGroupAndMeasureAndDisplayFolderFilter_CorrectPostFilter()
        {
            var filters = new CaptionFilter[]
            {
                new CaptionFilter(Target.Perspectives, "cubeName")
                , new CaptionFilter(Target.MeasureGroups, "measureGroupName")
                , new CaptionFilter(Target.Measures, "measureName")
                , new CaptionFilter(Target.DisplayFolders, "displayFolderName")
            };

            var builder = new MeasureDiscoveryCommandBuilder();
            builder.Build(filters);
            var postFilters = builder.GetPostFilters();
            Assert.That(postFilters.Count(), Is.EqualTo(1));
        }
        public void GetCommandText_FiltersContainDisplayFolder_DisplayFolderIsNotInCommandFilter()
        {
            var filters = new CaptionFilter[]
            {
                new CaptionFilter(Target.Perspectives, "my perspective")
                , new CaptionFilter(Target.DisplayFolders, "my display-folder")
            };

            var builder = new SetDiscoveryCommandBuilder();
            builder.Build(filters);
            var commandText = builder.GetCommandText().ToLower();
            var filtersText = commandText.Substring(commandText.IndexOf(" from "));

            Assert.That(filtersText, Is.Not.StringContaining("display").And.Not.StringContaining("folder"));
        }
        public void GetCommandText_FiltersContainDisplayFolder_DisplayFolderIsNotInCommandFilter()
        {
            var filters  = new CaptionFilter[]
            {
                new CaptionFilter(Target.Perspectives, "my perspective")
                , new CaptionFilter(Target.Dimensions, "my dimension")
                , new CaptionFilter(Target.DisplayFolders, "my display-folder")
                , new CaptionFilter(Target.Hierarchies, "my hierarchy")
            };

            var builder = new HierarchyDiscoveryCommandBuilder();
            builder.Build(filters);
            var commandText = builder.GetCommandText();

            Assert.That(commandText, Is.Not.StringContaining("Display").And.Not.StringContaining("Folder"));
        }