コード例 #1
0
        public void SupportsFormat(ConvertedFormat format)
        {
            FormatProcessorBase.ClearFormatProcessorsCache();
            var converter = new CommonFormatConverter();
            var processor = converter.CreateFormatProcessor(format) as FormatProcessorBase;

            Assert.IsTrue(processor.Format == format);
            Assert.IsTrue(processor.SupportsFormat(format.ToString()));
            Assert.IsTrue(processor.SupportsFormat("." + format.ToString()));
            foreach (ConvertedFormat frmt in SignificantFormatsTestData.TestCases)
            {
                if (frmt != format)
                {
                    var strFormat = frmt.ToString();
                    Assert.IsFalse(processor.SupportsFormat(strFormat));
                    Assert.IsFalse(processor.SupportsFormat("." + strFormat));
                }
            }
        }
コード例 #2
0
        public void Cache(ConvertedFormat format)
        {
            FormatProcessorBase.ClearFormatProcessorsCache();
            var converter  = new CommonFormatConverter();
            var processor1 = converter.CreateFormatProcessor(format) as FormatProcessorBase;
            var handler    = new NotifyCollectionChangedEventHandler((sender, args) => { });
            var dataItem   = new FormatDataItem();

            processor1.Dispose();
            string filePath = "file";

            Assert.IsTrue(processor1.IsCached);
            Assert.Throws <InvalidOperationException>(() => processor1.Dispose());
            Assert.Throws <InvalidOperationException>(() => { var someVar = processor1.Data; });
            Assert.Throws <InvalidOperationException>(() => { processor1.AddDataCollectionChangedHandler(handler); });
            Assert.Throws <InvalidOperationException>(() => { processor1.RemoveDataCollectionChangedHandler(handler); });
            Assert.Throws <InvalidOperationException>(() => { processor1.AddDataItem(dataItem); });
            Assert.Throws <InvalidOperationException>(() => { processor1.RemoveDataItem(dataItem); });
            Assert.Throws <InvalidOperationException>(() => { processor1.ClearData(); });
            Assert.Throws <InvalidOperationException>(() => { processor1.GetEnumerator(); });
            Assert.Throws <InvalidOperationException>(() => { processor1.ReadFromFile(filePath); });
            Assert.Throws <InvalidOperationException>(() => { processor1.SaveToFile(filePath); });
            Assert.Throws <InvalidOperationException>(() => { processor1.SetData(null); });
            Assert.DoesNotThrow(() => { processor1.SupportsFormat(format.ToString()); });
            var processor2 = converter.CreateFormatProcessor(format);

            Assert.AreSame(processor1, processor2);
            Assert.False(processor1.IsCached);
            Assert.DoesNotThrow(() => { var someVar = processor1.Data; });
            Assert.DoesNotThrow(() => { processor1.AddDataCollectionChangedHandler(handler); });
            Assert.DoesNotThrow(() => { processor1.RemoveDataCollectionChangedHandler(handler); });
            Assert.DoesNotThrow(() => { processor1.AddDataItem(dataItem); });
            Assert.DoesNotThrow(() => { processor1.RemoveDataItem(dataItem); });
            Assert.DoesNotThrow(() => { processor1.ClearData(); });
            Assert.DoesNotThrow(() => { processor1.GetEnumerator(); });
            Assert.DoesNotThrow(() => { processor1.SaveToFile(filePath); });
            Assert.DoesNotThrow(() => { processor1.ReadFromFile(filePath); });
            Assert.DoesNotThrow(() => { processor1.SetData(new[] { dataItem }); });
            File.Delete(filePath);
            processor1.Dispose();
            Assert.IsTrue(processor1.IsCached);
            processor2 = processor1.GetFormatProcessor();
            Assert.AreSame(processor1, processor2);
            Assert.False(processor1.IsCached);
        }