public void TestCheckForUnusedColumnCaptions() { var documentContainer = new MemoryDocumentContainer(); Assert.IsTrue(documentContainer.SetDocument(new SrmDocument(SrmSettingsList.GetDefault()), documentContainer.Document)); SkylineDataSchema dataSchema = new SkylineDataSchema(documentContainer, DataSchemaLocalizer.INVARIANT); var columnCaptions = new HashSet<string>(); foreach ( var resourceManager in SkylineDataSchema.GetLocalizedSchemaLocalizer().ColumnCaptionResourceManagers) { var resourceSet = resourceManager.GetResourceSet(CultureInfo.InvariantCulture, true, true); var enumerator = resourceSet.GetEnumerator(); while (enumerator.MoveNext()) { string key = enumerator.Key as string; if (null != key) { columnCaptions.Add(key); } } } foreach (var columnDescriptor in EnumerateAllColumnDescriptors(dataSchema, STARTING_TYPES) ) { var invariantCaption = dataSchema.GetColumnCaption(columnDescriptor); columnCaptions.Remove(invariantCaption.InvariantCaption); } var unusedCaptions = columnCaptions.ToArray(); Assert.AreEqual(0, unusedCaptions.Length, "Unused entries found in ColumnCaptions.resx: {0}", string.Join(",", unusedCaptions)); }
public void TestAllColumnCaptionsAreLocalized() { var documentContainer = new MemoryDocumentContainer(); Assert.IsTrue(documentContainer.SetDocument(new SrmDocument(SrmSettingsList.GetDefault()), documentContainer.Document)); SkylineDataSchema skylineDataSchema = new SkylineDataSchema(documentContainer, SkylineDataSchema.GetLocalizedSchemaLocalizer()); var missingCaptions = new HashSet<ColumnCaption>(); foreach (var columnDescriptor in EnumerateAllColumnDescriptors(skylineDataSchema, STARTING_TYPES)) { var invariantCaption = skylineDataSchema.GetColumnCaption(columnDescriptor); if (!skylineDataSchema.DataSchemaLocalizer.HasEntry(invariantCaption)) { missingCaptions.Add(invariantCaption); } } if (missingCaptions.Count == 0) { return; } StringWriter message = new StringWriter(); WriteResXFile(message, missingCaptions); Assert.Fail("Missing localized column captions {0}", message); }