public void TestIsModified() { var o1 = new OutputFormat(); var o2 = new OutputFormat(); Assert.IsTrue(!o1.IsModified(o1)); Assert.IsTrue(!o1.IsModified(o2)); Assert.IsTrue(!o2.IsModified(o1)); o2.Name = "a"; Assert.IsTrue(o1.IsModified(o2)); Assert.IsTrue(o2.IsModified(o1)); o2.Name = o1.Name; o2.Header = "aa"; Assert.IsTrue(o1.IsModified(o2)); Assert.IsTrue(o2.IsModified(o1)); o2.Header = o1.Header; o2.Footer = "bb"; Assert.IsTrue(o1.IsModified(o2)); Assert.IsTrue(o2.IsModified(o1)); o2.Footer = o1.Footer; o2.EachItem = "cc"; Assert.IsTrue(o1.IsModified(o2)); Assert.IsTrue(o2.IsModified(o1)); o2.EachItem = o1.EachItem; o2.EachItemAlternate = "dd"; Assert.IsTrue(o1.IsModified(o2)); Assert.IsTrue(o2.IsModified(o1)); o2.EachItemAlternate = o1.EachItemAlternate; }
/// <summary> /// 指定した出力フォーマットが変更されているか判定する. /// 指定された名前のオリジナルの出力フォーマットとの差異を比較する. /// 指定された名前が、まだ保持されていない場合は変更ありとみなす. /// </summary> /// <param name="of">現在の出力フォーマット(名前による区別)</param> /// <returns>変更の有無</returns> public virtual bool IsModified(OutputFormat of) { if (of == null) return true; string name = of.Name; OutputFormatHolder holder; if (dict.TryGetValue(name, out holder)) { return of.IsModified(holder.original); } return true; }