public void CreateFromAbstractNumbering_Test() { var abstractNum = NumberingSample1.GenerateAbstractNum(); var instance = new ConfigFactory(); var results = instance.CreateFromAbstractNumbering(abstractNum); Assert.AreEqual(abstractNum.AbstractNumberId.Value, results.AbstractNumberingId); Assert.IsFalse(results.NumberingId.HasValue); var levels = abstractNum.Descendants <Level>().ToArray(); Assert.AreEqual(levels.Length, results.LevelCount); for (var i = 0; i < levels.Length; i++) { var levelNode = levels[i]; Assert.IsTrue(results[i].IsFromAbstract); Assert.AreEqual(levelNode.LevelIndex.Value, results[i].LevelIndex); Assert.AreEqual(levelNode.ParagraphStyleIdInLevel?.Val.Value, results[i].ParagraphStyleId); var expectedStart = 1; if (levelNode.StartNumberingValue != null && levelNode.StartNumberingValue.Val.HasValue) { expectedStart = levelNode.StartNumberingValue.Val.Value; } Assert.AreEqual(expectedStart, results[i].StartValue); Assert.AreEqual(levelNode.NumberingFormat.Val.Value, results[i].NumberingFormat); Assert.AreEqual(levelNode.LevelText.Val.Value, results[i].Text); Assert.AreSame(levelNode, results[i].LevelNode); } }
public void Get_CacheLevel1Test() { var numberingPart = NumberingSample1.GenerateNumbering(); var abstractNum = numberingPart.Elements <AbstractNum>().Single(); var numberingInstance = numberingPart.Elements <NumberingInstance>().Single(); var numberingConfigFac = Substitute.For <IConfigFactory>(); var mockAbstractNumConfig = new Config(); numberingConfigFac.CreateFromAbstractNumbering(Arg.Is(abstractNum)).Returns(mockAbstractNumConfig); var mockNumberingConfig = new Config(); numberingConfigFac .CreateFromNumbering(Arg.Is(mockAbstractNumConfig), Arg.Is(numberingInstance)) .Returns(mockNumberingConfig); var instance = new ConfigCache(numberingPart, null, numberingConfigFac); instance.Get(numberingInstance.NumberID.Value); var result = instance.Get(numberingInstance.NumberID.Value); Assert.AreSame(mockNumberingConfig, result); numberingConfigFac.Received(1).CreateFromAbstractNumbering(Arg.Is(abstractNum)); }
private (ConfigFactory, NumberingInstance, Config) CreateNumberingInstanceContext() { var instance = new ConfigFactory(); var numberingInstance = NumberingSample1.GenerateNumberingInstance(); var abstractNumConfig = instance.CreateFromAbstractNumbering(NumberingSample1.GenerateAbstractNum()); return(instance, numberingInstance, abstractNumConfig); }