public void MethodLocalization() { // Arrange var methodClass = new LocalizedMethodDummyClass(); // Act Thread.CurrentThread.CurrentUICulture = _germanCulture; var entriesGerman = EntryConvert.EncodeMethods(methodClass).ToArray(); Thread.CurrentThread.CurrentUICulture = _invariantCulture; var entriesInvariant = EntryConvert.EncodeMethods(methodClass).ToArray(); // Assert Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.InitiateWorldTermination), _germanCulture), entriesGerman[0].DisplayName); Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.InitiateWorldTerminationDescription), _germanCulture), entriesGerman[0].Description); Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.EvacuatePeopleParam), _germanCulture), entriesGerman[0].Parameters.SubEntries[0].DisplayName); Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.EvacuatePeopleParamDescription), _germanCulture), entriesGerman[0].Parameters.SubEntries[0].Description); Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.NameOfTerminatorParam), _germanCulture), entriesGerman[0].Parameters.SubEntries[1].DisplayName); Assert.IsNull(entriesGerman[0].Parameters.SubEntries[1].Description); Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.InitiateWorldTermination), _invariantCulture), entriesInvariant[0].DisplayName); Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.InitiateWorldTerminationDescription), _invariantCulture), entriesInvariant[0].Description); Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.EvacuatePeopleParam), _invariantCulture), entriesInvariant[0].Parameters.SubEntries[0].DisplayName); Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.EvacuatePeopleParamDescription), _invariantCulture), entriesInvariant[0].Parameters.SubEntries[0].Description); Assert.AreEqual(strings.ResourceManager.GetString(nameof(strings.NameOfTerminatorParam), _invariantCulture), entriesInvariant[0].Parameters.SubEntries[1].DisplayName); Assert.IsNull(entriesInvariant[0].Parameters.SubEntries[1].Description); }
public MethodEntry[] GetMethods(string moduleName) { var methods = new MethodEntry[] {}; var serverModule = GetModuleFromManager(moduleName); if (serverModule?.Console != null) { methods = EntryConvert.EncodeMethods(serverModule.Console, CreateEditorSerializeSerialization(serverModule)).ToArray(); } return(methods); }
/// <summary> /// Recursive function to load resource and its children /// </summary> /// <param name="current">Current instance</param> /// <param name="partially">Model does not represent the full resource</param> /// <returns></returns> protected ResourceModel ToModel(Resource current, bool partially) { // Extract model var model = new ResourceModel { Id = current.Id, Name = current.Name, Description = current.Description, // Use simplified type reference Type = current.ResourceType() }; // Set partial flag or load complex properties depending on details depth var inCache = false; if (partially || current.Id == 0 && (inCache = _resourceCache.ContainsKey(current))) { model.PartiallyLoaded = true; model.ReferenceId = inCache ? _resourceCache[current].ReferenceId : 0; } else { // Only generate reference ids and add to cache for non-partial instance model.ReferenceId = --_refId; _resourceCache.Add(current, model); // Properties and methods are read from the descriptor // This can be the resource itself or a dedicated object model.Properties = EntryConvert.EncodeObject(current.Descriptor, Serialization); model.Methods = EntryConvert.EncodeMethods(current.Descriptor, Serialization).ToArray(); // Recursively read children and references model.References = ConvertReferences(current); } return(model); }
/// <summary> /// Recursive function to load resource and its children /// </summary> /// <param name="current">Current instance</param> /// <param name="partially">Model does not represent the full resource</param> /// <returns></returns> protected ResourceModel ToModel(Resource current, bool partially) { ResourceModel model; if (!_resourceCache.TryGetValue(current, out model)) { // Extract model model = new ResourceModel { Id = current.Id, Name = current.Name, Description = current.Description, // Use simplified type reference Type = current.ResourceType() }; _resourceCache.Add(current, model); // Set partial flag or load complex properties depending on details depth if (partially) { model.PartiallyLoaded = true; } else { // Properties and methods are read from the descriptor // This can be the resource itself or a dedicated object model.Properties = EntryConvert.EncodeObject(current.Descriptor, Serialization); model.Methods = EntryConvert.EncodeMethods(current.Descriptor, Serialization).ToArray(); // Recursively read children and references model.References = ConvertReferences(current); } } return(model); }