Exemplo n.º 1
0
        public void ParseOrderBy_WhenMultipleQuery_ExpectAllPartsParsed()
        {
            // Arrange
            var mockEntityParser = new Mock <IEntityParser <string> >();

            mockEntityParser.Setup(r => r.IsPermitted(It.IsAny <string>())).Returns(true);

            var orderByParser = new OrderByParser <string>(mockEntityParser.Object);

            // Act
            var stopwatch    = Stopwatch.StartNew();
            var orderByNodes = orderByParser.ParseOrderBy(" name asc value desc ");

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(orderByNodes, Is.Not.Null);
            Assert.That(orderByNodes.Count, Is.EqualTo(2));

            Assert.That(orderByNodes[0].Name, Is.EqualTo("name"));
            Assert.That(orderByNodes[0].SortOrder, Is.EqualTo(SortOrder.Asc));

            Assert.That(orderByNodes[1].Name, Is.EqualTo("value"));
            Assert.That(orderByNodes[1].SortOrder, Is.EqualTo(SortOrder.Desc));
        }
Exemplo n.º 2
0
        public void ParseOrderBy_WhenColumnNotPermitted_ExpectSkip()
        {
            // Arrange
            var mockEntityParser = new Mock <IEntityParser <string> >();

            mockEntityParser.Setup(r => r.IsPermitted(It.IsAny <string>())).Returns(false);

            var orderByParser = new OrderByParser <string>(mockEntityParser.Object);

            // Act
            var stopwatch    = Stopwatch.StartNew();
            var orderByNodes = orderByParser.ParseOrderBy(" name asc ");

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(orderByNodes, Is.Not.Null);
            Assert.That(orderByNodes.Count, Is.EqualTo(0));
        }
Exemplo n.º 3
0
        public void ParseOrderBy_WhenEscapedName_ExpectActualName()
        {
            // Arrange
            var mockEntityParser = new Mock <IEntityParser <string> >();

            mockEntityParser.Setup(r => r.IsPermitted(It.IsAny <string>())).Returns(true);

            var orderByParser = new OrderByParser <string>(mockEntityParser.Object);

            // Act
            var stopwatch    = Stopwatch.StartNew();
            var orderByNodes = orderByParser.ParseOrderBy("\"Test Value\" asc");

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(orderByNodes, Is.Not.Null);
            Assert.That(orderByNodes.Count, Is.EqualTo(1));

            Assert.That(orderByNodes[0].Name, Is.EqualTo("Test Value"));
            Assert.That(orderByNodes[0].SortOrder, Is.EqualTo(SortOrder.Asc));
        }