public void Create_CreatesFlexiCardBlock() { // Arrange const int dummyColumn = 2; var dummyLine = new StringSlice("dummyText", 3, 8); const string dummyUrl = "dummyUrl"; const string dummyBackgroundIcon = "dummyBackgroundIcon"; IFlexiCardBlockOptions dummyDefaultCardOptions = _mockRepository.Create <IFlexiCardBlockOptions>().Object; Mock <IFlexiCardsBlockOptions> mockFlexiCardsBlockOptions = _mockRepository.Create <IFlexiCardsBlockOptions>(); mockFlexiCardsBlockOptions.Setup(f => f.DefaultCardOptions).Returns(dummyDefaultCardOptions); Mock <BlockParser> dummyBlockParser = _mockRepository.Create <BlockParser>(); ProxyFlexiCardsBlock dummyProxyFlexiCardsBlock = CreateProxyFlexiCardsBlock(mockFlexiCardsBlockOptions.Object, blockParser: dummyBlockParser.Object); BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); // Following 3 lines set dummyBlockProcessor.CurrentContainer dummyBlockParser.Setup(b => b.TryContinue(dummyBlockProcessor, dummyProxyFlexiCardsBlock)).Returns(BlockState.ContinueDiscard); dummyBlockProcessor.Open(dummyProxyFlexiCardsBlock); dummyBlockProcessor.ProcessLine(new StringSlice(string.Empty)); dummyBlockProcessor.Column = dummyColumn; dummyBlockProcessor.Line = dummyLine; var dummyAttributes = new ReadOnlyDictionary <string, string>(new Dictionary <string, string>()); Mock <IFlexiCardBlockOptions> mockFlexiCardBlockOptions = _mockRepository.Create <IFlexiCardBlockOptions>(); mockFlexiCardBlockOptions.Setup(f => f.Url).Returns(dummyUrl); mockFlexiCardBlockOptions.Setup(f => f.BackgroundIcon).Returns(dummyBackgroundIcon); mockFlexiCardBlockOptions.Setup(f => f.Attributes).Returns(dummyAttributes); Mock <IBlockOptionsFactory <IFlexiCardBlockOptions> > mockFlexiCardBlockOptionsFactory = _mockRepository. Create <IBlockOptionsFactory <IFlexiCardBlockOptions> >(); mockFlexiCardBlockOptionsFactory.Setup(f => f.Create(dummyDefaultCardOptions, dummyBlockProcessor)).Returns(mockFlexiCardBlockOptions.Object); FlexiCardBlockFactory testSubject = CreateFlexiCardBlockFactory(mockFlexiCardBlockOptionsFactory.Object); // Act FlexiCardBlock result = testSubject.Create(dummyBlockProcessor, dummyBlockParser.Object); // Assert _mockRepository.VerifyAll(); Assert.Equal(dummyUrl, result.Url); Assert.Equal(dummyBackgroundIcon, result.BackgroundIcon); Assert.Same(dummyAttributes, result.Attributes); Assert.Same(dummyBlockParser.Object, result.Parser); Assert.Equal(dummyColumn, result.Column); Assert.Equal(dummyLine.Start, result.Span.Start); Assert.Equal(0, result.Span.End); }
public void Create_CreatesFlexiCardsBlock() { // Arrange var dummySpan = new SourceSpan(6, 19); const int dummyLine = 5; const int dummyColumn = 2; BlockParser dummyBlockParser = _mockRepository.Create <BlockParser>().Object; const string dummyBlockName = "dummyBlockName"; const string dummyResolvedBlockName = "dummyResolvedBlockName"; const FlexiCardBlockSize dummyCardSize = FlexiCardBlockSize.Medium; var dummyAttributes = new ReadOnlyDictionary <string, string>(new Dictionary <string, string>()); Mock <IFlexiCardsBlockOptions> mockFlexiCardsBlockOptions = _mockRepository.Create <IFlexiCardsBlockOptions>(); mockFlexiCardsBlockOptions.Setup(f => f.BlockName).Returns(dummyBlockName); mockFlexiCardsBlockOptions.Setup(f => f.CardSize).Returns(dummyCardSize); mockFlexiCardsBlockOptions.Setup(f => f.Attributes).Returns(dummyAttributes); ProxyFlexiCardsBlock dummyProxyFlexiCardsBlock = CreateProxyFlexiCardsBlock(mockFlexiCardsBlockOptions.Object, blockParser: dummyBlockParser); dummyProxyFlexiCardsBlock.Line = dummyLine; dummyProxyFlexiCardsBlock.Column = dummyColumn; dummyProxyFlexiCardsBlock.Span = dummySpan; Mock <FlexiCardsBlockFactory> mockTestSubject = CreateMockFlexiCardsBlockFactory(); mockTestSubject.CallBase = true; mockTestSubject.Setup(t => t.ResolveBlockName(dummyBlockName)).Returns(dummyResolvedBlockName); mockTestSubject.Setup(t => t.ValidateCardSize(dummyCardSize)); mockTestSubject.Protected().Setup("MoveChildren", dummyProxyFlexiCardsBlock, ItExpr.IsAny <FlexiCardsBlock>()); // Act FlexiCardsBlock result = mockTestSubject.Object.Create(dummyProxyFlexiCardsBlock, null); // Assert _mockRepository.VerifyAll(); Assert.Equal(dummyResolvedBlockName, result.BlockName); Assert.Equal(dummyCardSize, result.CardSize); Assert.Same(dummyAttributes, result.Attributes); Assert.Same(dummyBlockParser, result.Parser); Assert.Equal(dummyColumn, result.Column); Assert.Equal(dummyLine, result.Line); Assert.Equal(dummySpan, result.Span); }
public void CreateProxyFencedBlock_CreatesProxyFencedBlock() { // Arrange const int dummyOpeningFenceIndent = 5; const int dummyOpeningFenceCharCount = 6; const int dummyColumn = 2; var dummyLine = new StringSlice("dummyText", 3, 8); BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); dummyBlockProcessor.Column = dummyColumn; dummyBlockProcessor.Line = dummyLine; Mock <BlockParser> dummyBlockParser = _mockRepository.Create <BlockParser>(); IFlexiCardsBlockOptions dummyFlexiCardsBlockOptions = _mockRepository.Create <IFlexiCardsBlockOptions>().Object; Mock <IOptionsService <IFlexiCardsBlockOptions, IFlexiCardsBlocksExtensionOptions> > mockOptionsService = _mockRepository. Create <IOptionsService <IFlexiCardsBlockOptions, IFlexiCardsBlocksExtensionOptions> >(); mockOptionsService.Setup(f => f.CreateOptions(dummyBlockProcessor)). Returns((dummyFlexiCardsBlockOptions, (IFlexiCardsBlocksExtensionOptions)null)); Mock <FlexiCardsBlockFactory> mockTestSubject = CreateMockFlexiCardsBlockFactory(mockOptionsService.Object); mockTestSubject.CallBase = true; mockTestSubject.Setup(t => t.ValidateDefaultCardOptions(dummyFlexiCardsBlockOptions)); // Act ProxyFlexiCardsBlock result = mockTestSubject.Object.CreateProxyFencedBlock(dummyOpeningFenceIndent, dummyOpeningFenceCharCount, dummyBlockProcessor, dummyBlockParser.Object); // Assert _mockRepository.VerifyAll(); Assert.Same(dummyFlexiCardsBlockOptions, result.FlexiCardsBlockOptions); Assert.Equal(dummyOpeningFenceIndent, result.OpeningFenceIndent); Assert.Equal(dummyOpeningFenceCharCount, result.OpeningFenceCharCount); Assert.Same(dummyBlockParser.Object, result.Parser); Assert.Equal(dummyColumn, result.Column); Assert.Equal(dummyLine.Start, result.Span.Start); Assert.Equal(0, result.Span.End); }