Beispiel #1
0
        /// <summary>
        /// open cursor
        /// </summary>
        /// <param name="reverse"></param>
        /// <param name="startPosition"></param>
        /// <param name="useLocate">If this is the 1st access to the table, locate values should be considered.
        /// if not - use only ranges</param>
        /// <returns></returns>
        internal GatewayResult OpenCursor(bool reverse, DbPos startPosition, BoudariesFlags boundariesFlag)
        {
            CurrentCursor.CursorDefinition.SetFlagValue(CursorProperties.DirReversed, reverse);
            CurrentCursor.CursorDefinition.StartPosition = startPosition;

            // build the RangeData list
            CurrentCursor.RuntimeCursorData.Ranges = RangeBuilder.Build(boundariesFlag);

            GatewayCommandBase cursorCommand = GatewayCommandsFactory.CreateCursorOpenCommand(CurrentCursor, LocalDataviewManager.LocalManager);

            //String r = CurrentCursor.Serialize();

            return(cursorCommand.Execute());
        }
        public void SingleValue_WithError()
        {
            errorFinder = new ErrorFinder();

            var range = new RangeBuilder().WithWorksheet().WithSingleValue((int)CVErrEnum.ErrNA).Build();

            SetRangeExtentionsStub();


            var result = errorFinder.GetAllErrorCells(range).ToArray();

            Assert.AreEqual(1, result.Length);
            Assert.AreEqual(CVErrEnum.ErrNA.GetEnumDescription(), result.First().ErrorMessage);
        }
Beispiel #3
0
        /// <summary>Parses the unicode range.</summary>
        /// <param name="unicodeRange">the string which stores the unicode range</param>
        /// <returns>
        /// the unicode range as a
        /// <see cref="iText.Layout.Font.Range"/>
        /// object
        /// </returns>
        public static Range ParseUnicodeRange(String unicodeRange)
        {
            String[]     ranges  = iText.IO.Util.StringUtil.Split(unicodeRange, ",");
            RangeBuilder builder = new RangeBuilder();

            foreach (String range in ranges)
            {
                if (!AddRange(builder, range))
                {
                    return(null);
                }
            }
            return(builder.Create());
        }
        public void DiscardInvalidRanges()
        {
            RangeBuilder b = CreateBuilder();

            b.Add(-1, 10);
            b.Add(5, 110);

            Assert.Equal("bytes=-1-10,5-110", b.Build("bytes", 100));

            b.Options.Value.DiscardInvalidRanges = true;
            Assert.Null(b.Build("bytes", 100));

            b.Add(6, 10);
            Assert.Equal("bytes=6-10", b.Build("bytes", 100));
        }
        public void MergeOverlappingRanges()
        {
            RangeBuilder b = CreateBuilder();

            b.Add(0, 10);
            b.Add(10, 11); //start and end is the same as other ranges
            b.Add(0, 10);  //duplicate overlap
            b.Add(5, 11);  //overlap that is not ordered
            b.Add(15, 20); //a non-overlapping range
            b.Add(5, 6);   //small range after overlaps

            Assert.Equal("bytes=0-10,10-11,0-10,5-11,15-20,5-6", b.Build());

            b.Options.Value.MergeOverlappingRanges = true;
            Assert.Equal("bytes=0-11,15-20", b.Build());
        }
        public void Range_WithErrors()
        {
            errorFinder = new ErrorFinder();

            var values = new object[, ] {
                { 1d, "1", "abc" }, { (int)CVErrEnum.ErrGettingData, "321 , 321", null }
            };
            var range = new RangeBuilder().WithWorksheet().WithCells().WithSingleValue(values).Build();

            SetRangeExtentionsStub();

            var result = errorFinder.GetAllErrorCells(range).ToArray();

            Assert.AreEqual(1, result.Length);
            Assert.AreEqual(CVErrEnum.ErrGettingData.GetEnumDescription(), result.First().ErrorMessage);
        }
Beispiel #7
0
        public void RepairConditionalFormat_TwoRowsSelected_SecondToFirst()
        {
            var firstRow  = new RangeBuilder().WithConditionalFormatting(0).WithWorksheet().WithPaste();
            var secondRow = new RangeBuilder().WithConditionalFormatting(1).WithWorksheet().WithCopy();

            var rangeBuilder = new RangeBuilder()
                               .WithRows()
                               .WithCount(2)
                               .WithIndexer(new[] { firstRow.Build(), secondRow.Build() });
            var selection = rangeBuilder.Build();

            formatFixer.FillRange(selection);

            secondRow.MockObject.Verify(x => x.Copy(Missing.Value), Times.Once);
            VerifyPasted(firstRow.MockObject);
        }
Beispiel #8
0
        public void RemoveAllSpaces_EmptyValue_Null()
        {
            var value        = "   \r\n     \t";
            var rangeBuilder = new RangeBuilder()
                               .WithWorksheet()
                               .WithAreas()
                               .WithSingleValue(value)
                               .WithSetValue();
            var selection = rangeBuilder.Build();


            emptySpaceTrimmer.RemoveAllSpaces(selection);


            rangeBuilder.MockObject.Verify(x => x.set_Value(It.IsAny <object>(), It.IsAny <string>()), Times.Once);
            rangeBuilder.MockObject.Verify(x => x.set_Value(It.IsAny <object>(), It.Is <string>(v => v == null)));
        }
Beispiel #9
0
        public void HighlightDuplicates_SomeCellsAreNull_Success()
        {
            var cells = new[]
            {
                new RangeBuilder().WithSingleValue(1).Build(),
                new RangeBuilder().WithSingleValue(2).Build(),
                new RangeBuilder().WithSingleValue(3).Build(),
                null,
                new RangeBuilder().WithSingleValue(3).Build(),
                new RangeBuilder().WithSingleValue(4).Build(),
            };
            var selection = new RangeBuilder().WithEnumrableRanges(cells).Build();

            duplicatesHighlighter.HighlightDuplicates(selection);

            Assert.AreEqual(1, RangeExtensionsStub.SetColorInvocations.Count());
        }
Beispiel #10
0
    internal HeadObjectRequest(HttpMethodType method) : base(method)
    {
        Range                = new RangeBuilder();
        IfETagMatch          = new ETagBuilder();
        IfETagNotMatch       = new ETagBuilder();
        ResponseCacheControl = new CacheControlBuilder();
        ResponseContentType  = new ContentTypeBuilder();

        //Amazon does not support the extended filename RFC in their presigned requests
        ContentDispositionOptions contentDisp = new ContentDispositionOptions();

        contentDisp.UseExtendedFilename = false;

        ResponseContentDisposition = new ContentDispositionBuilder(Options.Create(contentDisp));
        ResponseContentLanguage    = new ContentLanguageBuilder();
        ResponseContentEncoding    = new ContentEncodingBuilder();
    }
Beispiel #11
0
        public void RepairConditionalFormat_OneRowSelected_NoAction()
        {
            var firstRow     = new RangeBuilder();
            var rangeBuilder = new RangeBuilder()
                               .WithConditionalFormatting(1)
                               .WithWorksheet()
                               .WithRows()
                               .WithCount(1)
                               .WithIndexer(new[] { firstRow.Build() })
                               .WithPaste();
            var selection = rangeBuilder.Build();

            formatFixer.FillRange(selection);

            firstRow.MockObject.Verify(x => x.Copy(Missing.Value), Times.Never);
            rangeBuilder.MockObject.Verify(x => x.Copy(Missing.Value), Times.Never);
        }
Beispiel #12
0
        public void ToggleCase_ConvertedRightOrder(string initial, string result)
        {
            var firstCell    = new RangeBuilder().WithSingleValue(initial).Build();
            var rangeBuilder = new RangeBuilder()
                               .WithEnumrableRanges(new[] { firstCell })
                               .WithSingleValue(initial)
                               .WithWorksheet()
                               .WithAreas()
                               .WithSetValue();
            var selection = rangeBuilder.Build();

            caseToggler.ToggleCase(selection);


            rangeBuilder.MockObject.Verify(x => x.set_Value(It.IsAny <object>(), It.IsAny <string>()), Times.Once);
            rangeBuilder.MockObject.Verify(x => x.set_Value(It.IsAny <object>(), It.Is <string>(v => result == v)));
        }
Beispiel #13
0
        public void ToggleCase_SingleCell_Converted()
        {
            var rangeBuilder = new RangeBuilder()
                               .WithEnumrableRanges(new[] { new RangeBuilder().WithSingleValue("abc").Build() })
                               .WithWorksheet()
                               .WithAreas()
                               .WithSingleValue("abc")
                               .WithSetValue();
            var selection = rangeBuilder.Build();

            caseToggler.ToggleCase(selection);


            var expected = "ABC";

            rangeBuilder.MockObject.Verify(x => x.set_Value(It.IsAny <object>(), It.IsAny <string>()), Times.Once);
            rangeBuilder.MockObject.Verify(x => x.set_Value(It.IsAny <object>(), It.Is <string>(v => expected == v)));
        }
Beispiel #14
0
        public void TrimSpaces_SingleCell_Converted()
        {
            var value        = "a   \r\nb     c\t";
            var rangeBuilder = new RangeBuilder()
                               .WithWorksheet()
                               .WithAreas()
                               .WithSingleValue(value)
                               .WithSetValue();
            var selection = rangeBuilder.Build();


            emptySpaceTrimmer.TrimSpaces(selection);


            var expected = "a b c";

            rangeBuilder.MockObject.Verify(x => x.set_Value(It.IsAny <object>(), It.IsAny <string>()), Times.Once);
            rangeBuilder.MockObject.Verify(x => x.set_Value(It.IsAny <object>(), It.Is <string>(v => expected == v)));
        }
Beispiel #15
0
        private void SetupApplicationForAddWorkbook()
        {
            app = new Mock <Application>(MockBehavior.Strict);
            var wbs = new Mock <Workbooks>(MockBehavior.Strict);
            var wb  = new Mock <Workbook>(MockBehavior.Strict);
            var wss = new Mock <Sheets>(MockBehavior.Strict);
            var ws  = new Mock <Worksheet>(MockBehavior.Strict);
            //wss.Setup(x => x[1]).re
            var rangeBuilder = new RangeBuilder().WithSetValue();

            range = rangeBuilder.MockObject;
            range.Setup(x => x.get_Value(It.IsAny <object>()));
            range.Setup(x => x.set_Value(It.IsAny <object>(), It.IsAny <object>()));

            ws.Setup(x => x.Cells[It.IsAny <int>(), It.IsAny <int>()]).Returns(rangeBuilder.Build());
            wb.Setup(x => x.Worksheets).Returns(wss.Object);
            wss.Setup(x => x[1]).Returns(ws.Object);
            wbs.Setup(x => x.Add(Missing.Value)).Returns(wb.Object);
            app.Setup(x => x.Workbooks).Returns(wbs.Object);
        }
        public void Validate_Success_And_Fail()
        {
            var cells = new[]
            {
                new RangeBuilder().WithSingleValue(true).Build(),
                new RangeBuilder().WithSingleValue(true).Build(),
                new RangeBuilder().WithSingleValue(false).Build(),
                new RangeBuilder().WithSingleValue("").Build()
            };
            var selection = new RangeBuilder().WithEnumrableRanges(cells).WithWorksheet().Build();

            validator
            .Setup(x => x.CheckValue(It.IsAny <object>()))
            .Returns((bool x) => x ? ValidationResult.Success : ValidationResult.Fail("Fail =("));

            var result = cellsValidator.Validate(selection, ValidationType.Xml);

            Assert.AreEqual(1, result.Count);
            validator.Verify(x => x.CheckValue(It.IsAny <object>()), Times.Exactly(3));
        }
Beispiel #17
0
        public void RepairConditionalFormat_MultipleRows_CopiedFromFirstRow()
        {
            var firstRow  = new RangeBuilder().WithConditionalFormatting(1).WithWorksheet().WithCopy();
            var secondRow = new RangeBuilder().WithConditionalFormatting(0).WithWorksheet();
            var thirdRow  = new RangeBuilder().WithConditionalFormatting(1).WithWorksheet();
            var lastRow   = new RangeBuilder().WithConditionalFormatting(0).WithWorksheet();

            var rangeBuilder = new RangeBuilder()
                               .WithConditionalFormatting(1)
                               .WithWorksheet()
                               .WithRows()
                               .WithCount(4)
                               .WithIndexer(new[] { firstRow.Build(), secondRow.Build(), thirdRow.Build(), lastRow.Build() })
                               .WithPaste();
            var selection = rangeBuilder.Build();

            formatFixer.FillRange(selection);

            firstRow.MockObject.Verify(x => x.Copy(Missing.Value), Times.Once);
            VerifyPasted(rangeBuilder.MockObject);
        }
Beispiel #18
0
        public void HighlightDuplicates_ThreeItems_Success()
        {
            var cells = new[]
            {
                new RangeBuilder().WithSingleValue("abc").Build(),
                new RangeBuilder().WithSingleValue("a").Build(),
                new RangeBuilder().WithSingleValue("b").Build(),
                new RangeBuilder().WithSingleValue("c").Build(),
                new RangeBuilder().WithSingleValue("a").Build(),
                new RangeBuilder().WithSingleValue("b").Build(),
                new RangeBuilder().WithSingleValue("qwe").Build(),
                new RangeBuilder().WithSingleValue(2d).Build(),
                new RangeBuilder().WithSingleValue(3d).Build(),
                new RangeBuilder().WithSingleValue(2d).Build()
            };
            var selection = new RangeBuilder().WithEnumrableRanges(cells).Build();


            duplicatesHighlighter.HighlightDuplicates(selection);

            Assert.AreEqual(3, RangeExtensionsStub.SetColorInvocations.Count());
        }
 private static bool AddRange(RangeBuilder builder, String range)
 {
     range = range.Trim();
     if (range.Matches("[uU]\\+[0-9a-fA-F?]{1,6}(-[0-9a-fA-F]{1,6})?"))
     {
         String[] parts = iText.IO.Util.StringUtil.Split(range.JSubstring(2, range.Length), "-");
         if (1 == parts.Length)
         {
             if (parts[0].Contains("?"))
             {
                 return(AddRange(builder, parts[0].Replace('?', '0'), parts[0].Replace('?', 'F')));
             }
             else
             {
                 return(AddRange(builder, parts[0], parts[0]));
             }
         }
         else
         {
             return(AddRange(builder, parts[0], parts[1]));
         }
     }
     return(false);
 }
Beispiel #20
0
 public Download WithRange(RangeBuilder builder)
 {
     _request.Range = builder;
     return(this);
 }
Beispiel #21
0
        public static void MustBeInRange <T>(this T value, RangeBuilder <T> rangeBuilder)
        {
            Range <T> range = rangeBuilder;

            value.MustBeInRange(range);
        }
        public void ZeroRange()
        {
            RangeBuilder b = CreateBuilder();

            Assert.Null(b.Build());
        }