BalticAmadeus.FluentMdx.Tests.MdxQueryTests.CreateQuery_WithDeclaredMemberAndSet_QueryCreatedAsExpected C# (CSharp) Method

CreateQuery_WithDeclaredMemberAndSet_QueryCreatedAsExpected() private method

        public void CreateQuery_WithDeclaredMemberAndSet_QueryCreatedAsExpected()
        {
            //ARRANGE
            const string expectedQueryString = "WITH " +
                                               "MEMBER [MyMember] AS [Dim Hierarchy].[Dim] " +
                                               "SET [MySet] AS { FILTER([Dim Hierarchy].[Dim].[Dim Key], { [Dim Hierarchy].[Dim].[Dim Key] }) } " +
                                               "SELECT { [MyMember] } ON Columns " +
                                               "FROM [Cube] " +
                                               "WHERE { ( { ( [MySet] ) } ) }";

            //ACT
            var query = Mdx.Query()
                .With(Mdx.DeclaredMember("MyMember").As(Mdx.Expression().WithOperand(Mdx.Member("Dim Hierarchy", "Dim"))))
                .With(Mdx.DeclaredSet("MySet").As(Mdx.Tuple().With(Mdx.Function("FILTER")
                    .WithParameters(Mdx.Member("Dim Hierarchy", "Dim", "Dim Key"))
                    .WithParameters(Mdx.Tuple().With(Mdx.Member("Dim Hierarchy", "Dim", "Dim Key"))))))
                .On(Mdx.Axis(0).WithSlicer(Mdx.Tuple().With(Mdx.Member("MyMember"))))
                .From(Mdx.Cube("Cube"))
                .Where(Mdx.Tuple().With(Mdx.Set().With(Mdx.Member("MySet"))));

            //ASSERT
            Assert.That(query.ToString(), Is.EqualTo(expectedQueryString));
        }