コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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);
        }