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)); } } }
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); }