public void SetIsAlternateMethodTest() { //Mock spreadsheet var spreadsheetMock = Mock.Create<SpreadsheetView>(Constructor.Mocked, Behavior.Loose); Mock.Arrange(() => spreadsheetMock.GetTopLevelSpreadsheet()).CallOriginal(); //Call constructor var container = new SpreadsheetItemContainer(spreadsheetMock); //TopLevelSpreadsheet.AlternateStyle is None container.SetIsAlternate(); Assert.IsFalse(container.IsAlternate); Mock.NonPublic.Assert(container, "GetTopLevelCell", Occurs.Never()); //Owner is a top level spreadsheet Mock.Arrange(() => spreadsheetMock.AlternateStyle).Returns(AlternateStyles.Full); Mock.Arrange(() => container.IsOdd).Returns(true); container.SetIsAlternate(); Assert.IsTrue(container.IsAlternate); Assert.AreEqual(container.IsAlternate, container.IsOdd); Mock.NonPublic.Assert(container, "GetTopLevelCell", Occurs.Never()); //Top level AlternateStyle is Full Mock.Arrange(() => spreadsheetMock.ParentSpreadsheet).Returns(Mock.Create<SpreadsheetView>(Constructor.Mocked)); Mock.Arrange(() => container.IsOdd).Returns(false); container.SetIsAlternate(); Assert.IsFalse(container.IsAlternate); Assert.AreEqual(container.IsAlternate, container.IsOdd); Mock.NonPublic.Assert(container, "GetTopLevelCell", Occurs.Never()); //Otherwise Mock.Arrange(() => spreadsheetMock.AlternateStyle).Returns(AlternateStyles.TopLevel); var topLevelCell = Mock.Create<Cell>(Constructor.Mocked); var topLevelCellContainer = Mock.Create<SpreadsheetItemContainer>(Constructor.Mocked); Mock.Arrange(() => topLevelCell.Container).Returns(topLevelCellContainer); Mock.Arrange(() => topLevelCellContainer.IsOdd).Returns(true); Mock.NonPublic.Arrange<CellBase>(container, "GetTopLevelCell").Returns(topLevelCell); container.SetIsAlternate(); Assert.IsTrue(container.IsAlternate); Assert.AreEqual(container.IsAlternate, topLevelCellContainer.IsOdd); Mock.NonPublic.Assert(container, "GetTopLevelCell", Occurs.Once()); }
/// <summary> /// Populates the cells. /// </summary> /// <param name="ic">The ic.</param> /// <param name="item">The item.</param> private static void PopulateCells(SpreadsheetItemContainer ic, IWrap item) { ic.Item = item; ic.IsOdd = ic.Item.Index % 2 != 0; ic.SetIsAlternate(); }