public string GetInstantiation(Type type, bool interestingValue)
        {
            var dictTypes = GetDictionaryType(type);

            var keyTypeName   = m_RootHandler.GetNameForCSharp(dictTypes.key);
            var valueTypeName = m_RootHandler.GetNameForCSharp(dictTypes.value);

            var keyTypeValue   = m_RootHandler.GetInstantiation(dictTypes.key, true);
            var valueTypeValue = m_RootHandler.GetInstantiation(dictTypes.value, true);

            var invocationSuffix = interestingValue
                ? $"{{ {{ {keyTypeValue} , {valueTypeValue} }} }}"
                : "()";

            m_RootHandler.GetNamespaceTracker().RecordNamespace("System.Collections.Generic");

            return($"new Dictionary<{keyTypeName},{valueTypeName}>{invocationSuffix}");
        }
        public string GetNameForCSharp(Type type)
        {
            if (!m_NameForCSharpCache.ContainsKey(type))
            {
                m_NameForCSharpCache[type] = m_InnerTypeHandler.GetNameForCSharp(type);
            }

            return(m_NameForCSharpCache[type]);
        }
示例#3
0
        public string GetInstantiation(Type type, bool interestingValue)
        {
            if (type.IsClass &&
                !type.IsAbstract &&
                type.GetConstructors().Any(ctor => ctor.GetParameters().Length == 0))
            {
                return($"new {m_RootHandler.GetNameForCSharp(type)}()");
            }

            // Assume a helper method exists
            return($"Create{m_RootHandler.GetNameForIdentifier(type)}()");
        }
示例#4
0
        public string GetInstantiation(Type type, bool interestingValue)
        {
            if (type == typeof(byte[]))
            {
                if (interestingValue)
                {
                    m_RootHandler.GetNamespaceTracker().RecordNamespace("System.Text");
                    return("Encoding.UTF8.GetBytes(\"{}\")");
                }
                return("new byte[0]");
            }
            if (type == typeof(Type[]))
            {
                return(interestingValue ? "new Type[] { typeof(string) }" : "Type.EmptyTypes");
            }

            var eType = GetArrayElementType(type);

            return(!interestingValue
                ? $"new {m_RootHandler.GetNameForCSharp(eType)}[0]"
                : $"new {m_RootHandler.GetNameForCSharp(eType)}[] {{ {m_RootHandler.GetInstantiation(eType, true)} }}");
        }
 public string GetInstantiation(Type type, bool interestingValue)
 {
     m_RootHandler.GetNamespaceTracker().RecordNamespace("Rhino.Mocks");
     m_RootHandler.GetNamespaceTracker().RecordNamespace("static Rhino.Mocks.MockRepository");
     return($"GenerateStub<{m_RootHandler.GetNameForCSharp(type)}>()");
 }
示例#6
0
 public string GetNameForCSharp(Type type)
 {
     return(m_InnerHandler.GetNameForCSharp(type));
 }
示例#7
0
        public string GetInstantiation(Type type, bool interestingValue)
        {
            var elementType = type.GetGenericArguments().First();

            return($"new List<{m_RootHandler.GetNameForCSharp(elementType)}>()");
        }
        public string GetInstantiation(Type type, bool interestingValue)
        {
            var innerType = GetNullableType(type);

            return($"({m_RootHandler.GetNameForCSharp(innerType)}?) {m_RootHandler.GetInstantiation(innerType, interestingValue)}");
        }