private void UpdateMenu(ObservableCollection <Type> types) { MenuItems.Clear(); foreach (var type in types) { var menuItemVM = new MenuItemViewModel { Label = type.GetTypeInfo().GetCustomAttribute <TitleAttribute>()?.Title ?? ObjectDisplay.Nicely(type), Symbol = type.GetTypeInfo().GetCustomAttribute <IconAttribute>()?.Icon ?? Symbol.Placeholder, Tag = type }; MenuItems.Add(menuItemVM); } }
public void Characters() { Assert.Equal( "120 'x'", ObjectDisplay.FormatLiteral( 'x', ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters | ObjectDisplayOptions.IncludeCodePoints ) ); Assert.Equal( "120 x", ObjectDisplay.FormatLiteral('x', ObjectDisplayOptions.IncludeCodePoints) ); Assert.Equal( "0x0078 'x'", ObjectDisplay.FormatLiteral( 'x', ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters | ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); Assert.Equal( "0x0078 x", ObjectDisplay.FormatLiteral( 'x', ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); Assert.Equal( "39 '\\''", ObjectDisplay.FormatLiteral( '\'', ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters | ObjectDisplayOptions.IncludeCodePoints ) ); Assert.Equal( "39 '", ObjectDisplay.FormatLiteral('\'', ObjectDisplayOptions.IncludeCodePoints) ); Assert.Equal( "0x001e '\\u001e'", ObjectDisplay.FormatLiteral( '\u001e', ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters | ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); Assert.Equal( "0x001e \u001e", ObjectDisplay.FormatLiteral( '\u001e', ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); Assert.Equal( "0x0008 '\\b'", ObjectDisplay.FormatLiteral( '\b', ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters | ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); Assert.Equal( "0x0009 '\\t'", ObjectDisplay.FormatLiteral( '\t', ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters | ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); Assert.Equal( "0x000a '\\n'", ObjectDisplay.FormatLiteral( '\n', ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters | ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); Assert.Equal( "0x000b '\\v'", ObjectDisplay.FormatLiteral( '\v', ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters | ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); Assert.Equal( "0x000d '\\r'", ObjectDisplay.FormatLiteral( '\r', ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters | ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); Assert.Equal( "0x000d \r", ObjectDisplay.FormatLiteral( '\r', ObjectDisplayOptions.IncludeCodePoints | ObjectDisplayOptions.UseHexadecimalNumbers ) ); }
public void Strings() { Assert.Equal("", ObjectDisplay.FormatLiteral("", ObjectDisplayOptions.None)); Assert.Equal(@"a", ObjectDisplay.FormatLiteral(@"a", ObjectDisplayOptions.None)); Assert.Equal(@"ab", ObjectDisplay.FormatLiteral(@"ab", ObjectDisplayOptions.None)); Assert.Equal(@"\", ObjectDisplay.FormatLiteral(@"\", ObjectDisplayOptions.None)); Assert.Equal(@"\a", ObjectDisplay.FormatLiteral(@"\a", ObjectDisplayOptions.None)); Assert.Equal(@"a\b", ObjectDisplay.FormatLiteral(@"a\b", ObjectDisplayOptions.None)); Assert.Equal(@"ab\c", ObjectDisplay.FormatLiteral(@"ab\c", ObjectDisplayOptions.None)); Assert.Equal(@"ab\cd", ObjectDisplay.FormatLiteral(@"ab\cd", ObjectDisplayOptions.None)); Assert.Equal(@"ab\cd\", ObjectDisplay.FormatLiteral(@"ab\cd\", ObjectDisplayOptions.None)); Assert.Equal(@"ab\cd\e", ObjectDisplay.FormatLiteral(@"ab\cd\e", ObjectDisplayOptions.None)); Assert.Equal(@"\\\\", ObjectDisplay.FormatLiteral(@"\\\\", ObjectDisplayOptions.None)); Assert.Equal(@"""""", ObjectDisplay.FormatLiteral("", ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters)); Assert.Equal(@"""\""\""""", ObjectDisplay.FormatLiteral(@"""""", ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters)); Assert.Equal(@"""'""", ObjectDisplay.FormatLiteral(@"'", ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters)); Assert.Equal(@"""ab""", ObjectDisplay.FormatLiteral(@"ab", ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters)); Assert.Equal(@"""\\""", ObjectDisplay.FormatLiteral(@"\", ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters)); Assert.Equal("\"x\"", ObjectDisplay.FormatLiteral("x", ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters)); Assert.Equal("x", ObjectDisplay.FormatLiteral("x", ObjectDisplayOptions.None)); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 255; i++) { sb.Append((char)i); } var s = sb.ToString(); var expected = "\"\\0\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\a\\b\\t\\n\\v\\f\\r\\u000e\\u000f\\u0010" + "\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d" + "\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[" + "\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\\u007f\\u0080\\u0081\\u0082\\u0083\\u0084\\u0085" + "\\u0086\\u0087\\u0088\\u0089\\u008a\\u008b\\u008c\\u008d\\u008e\\u008f\\u0090\\u0091\\u0092" + "\\u0093\\u0094\\u0095\\u0096\\u0097\\u0098\\u0099\\u009a\\u009b\\u009c\\u009d\\u009e\\u009f" + " ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèé" + "êëìíîïðñòóôõö÷øùúûüýþ\""; Assert.Equal( expected, ObjectDisplay.FormatLiteral(s, ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters)); expected = "\0\u0001\u0002\u0003\u0004\u0005\u0006\a\u0008\u0009\u000a\u000b\f\u000d\u000e\u000f\u0010" + "\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d" + "\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[" + "\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007f\u0080\u0081\u0082\u0083\u0084\u0085" + "\u0086\u0087\u0088\u0089\u008a\u008b\u008c\u008d\u008e\u008f\u0090\u0091\u0092" + "\u0093\u0094\u0095\u0096\u0097\u0098\u0099\u009a\u009b\u009c\u009d\u009e\u009f" + " ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèé" + "êëìíîïðñòóôõö÷øùúûüýþ"; Assert.Equal( expected, ObjectDisplay.FormatLiteral(s, ObjectDisplayOptions.None)); var arabic = "انتخابات مبكرة، بعد يوم حافل بالاحداث السياسية، بعد"; s = ObjectDisplay.FormatLiteral(arabic, ObjectDisplayOptions.None); Assert.Equal(arabic, s); var hebrew = "והמנהלים רפואיים של ארבעת קופות החולים. בסיום הפגישה הבהיר"; s = ObjectDisplay.FormatLiteral(hebrew, ObjectDisplayOptions.None); Assert.Equal(hebrew, s); }
private void UpdateView() { ObjectDisplay.Invalidate(); MapDisplay.Invalidate(); }
public override string FormatLiteral(bool value) { return(ObjectDisplay.FormatLiteral(value)); }
internal override string FormatLiteral(char c, ObjectDisplayOptions options) { return(ObjectDisplay.FormatLiteral(c, options)); }
internal override string FormatPrimitiveObject(object value, ObjectDisplayOptions options) { return(ObjectDisplay.FormatPrimitive(value, options)); }
internal override string FormatLiteral(float value) { return(ObjectDisplay.FormatLiteral(value, ObjectDisplayOptions.None)); }
protected override string FormatLiteral(string value, bool useQuotes, bool escapeNonPrintable, int numberRadix = NumberRadixDecimal) { var options = GetObjectDisplayOptions(useQuotes: useQuotes, escapeNonPrintable: escapeNonPrintable, numberRadix: numberRadix); return(ObjectDisplay.FormatLiteral(value, options)); }
internal override string FormatLiteral(int value, ObjectDisplayOptions options) { return(ObjectDisplay.FormatLiteral(value, options & ~(ObjectDisplayOptions.UseQuotes | ObjectDisplayOptions.EscapeNonPrintableCharacters))); }
internal override string FormatString(string str, ObjectDisplayOptions options) { return(ObjectDisplay.FormatLiteral(str, options)); }
public override void OnDeath(ObjectDisplay damagedBy) { _playUI.Win(); }
public override string FormatLiteral(ulong value, bool useHexadecimalNumbers = false) { return(ObjectDisplay.FormatLiteral(value, useHexadecimalNumbers)); }
public override string FormatLiteral(char c, bool quote, bool useHexadecimalNumbers = false, bool includeCodePoints = false) { return(ObjectDisplay.FormatLiteral(c, quote, useHexadecimalNumbers, includeCodePoints)); }
private string FormatPrimitiveUsingHexadecimalNumbers(object obj, bool quoteStrings = false) { var options = quoteStrings ? ObjectDisplayOptions.UseQuotes : ObjectDisplayOptions.None; return(ObjectDisplay.FormatPrimitive(obj, options | ObjectDisplayOptions.UseHexadecimalNumbers)); }
protected override string FormatLiteral(char c, bool useQuotes, bool escapeNonPrintable, bool includeCodePoints = false, int numberRadix = NumberRadixDecimal) { var options = GetObjectDisplayOptions(useQuotes: useQuotes, escapeNonPrintable: escapeNonPrintable, includeCodePoints: includeCodePoints, numberRadix: numberRadix); return(ObjectDisplay.FormatLiteral(c, options)); }
private string FormatPrimitiveIncludingTypeSuffix(object obj, bool useHexadecimalNumbers = false) { var options = useHexadecimalNumbers ? ObjectDisplayOptions.UseHexadecimalNumbers : ObjectDisplayOptions.None; return(ObjectDisplay.FormatPrimitive(obj, options | ObjectDisplayOptions.IncludeTypeSuffix)); }
protected override string FormatLiteral(ulong value, int numberRadix = NumberRadixDecimal, CultureInfo cultureInfo = null) { return(ObjectDisplay.FormatLiteral(value, GetObjectDisplayOptions(numberRadix: numberRadix), cultureInfo)); }
internal override string FormatLiteral(int value, ObjectDisplayOptions options) { return(ObjectDisplay.FormatLiteral(value, options & ~ObjectDisplayOptions.UseQuotes)); }
protected override string FormatLiteral(decimal value, CultureInfo cultureInfo = null) { return(ObjectDisplay.FormatLiteral(value, ObjectDisplayOptions.None, cultureInfo)); }
internal override string FormatString(string str, ObjectDisplayOptions options) { return(ObjectDisplay.FormatString(str, useQuotes: options.IncludesOption(ObjectDisplayOptions.UseQuotes))); }
private string FormatPrimitive(object obj, bool quoteStrings = false) { var options = quoteStrings ? ObjectDisplayOptions.UseQuotes : ObjectDisplayOptions.None; return(ObjectDisplay.FormatPrimitive(obj, options | ObjectDisplayOptions.EscapeNonPrintableCharacters)); }
public override string FormatLiteral(decimal value) { return(ObjectDisplay.FormatLiteral(value, ObjectDisplayOptions.None)); }
protected override void AddLiteralValue(SpecialType type, object value) { _builder.Append(ObjectDisplay.FormatPrimitive(value, ObjectDisplayOptions.None), CodeFileTokenKind.Literal); }
public override string FormatLiteral(uint value, bool useHexadecimalNumbers = false) { return(ObjectDisplay.FormatLiteral(value, GetObjectDisplayOptions(useHexadecimalNumbers))); }
protected override void AddExplicitlyCastedLiteralValue(INamedTypeSymbol namedType, SpecialType type, object value) { _builder.Append(ObjectDisplay.FormatPrimitive(value, ObjectDisplayOptions.None), CodeFileTokenKind.Literal); }
public void CultureInvariance() { using (new CultureContext(new CultureInfo("de-DE", useUserOverride: false))) { var decimalValue = new Decimal(12.5); Assert.Equal("12,5", decimalValue.ToString()); Assert.Equal( "12.5", ObjectDisplay.FormatLiteral(decimalValue, ObjectDisplayOptions.None) ); Assert.Equal( "12.5", ObjectDisplay.FormatLiteral( decimalValue, ObjectDisplayOptions.None, CultureInfo.InvariantCulture ) ); Assert.Equal( "12,5", ObjectDisplay.FormatLiteral( decimalValue, ObjectDisplayOptions.None, CultureInfo.CurrentCulture ) ); Assert.Equal( "12.5M", ObjectDisplay.FormatLiteral( decimalValue, ObjectDisplayOptions.IncludeTypeSuffix ) ); double doubleValue = 12.5; Assert.Equal("12,5", doubleValue.ToString()); Assert.Equal( "12.5", ObjectDisplay.FormatLiteral(doubleValue, ObjectDisplayOptions.None) ); Assert.Equal( "12.5", ObjectDisplay.FormatLiteral( doubleValue, ObjectDisplayOptions.None, CultureInfo.InvariantCulture ) ); Assert.Equal( "12,5", ObjectDisplay.FormatLiteral( doubleValue, ObjectDisplayOptions.None, CultureInfo.CurrentCulture ) ); Assert.Equal( "12.5D", ObjectDisplay.FormatLiteral(doubleValue, ObjectDisplayOptions.IncludeTypeSuffix) ); float singleValue = 12.5F; Assert.Equal("12,5", singleValue.ToString()); Assert.Equal( "12.5", ObjectDisplay.FormatLiteral(singleValue, ObjectDisplayOptions.None) ); Assert.Equal( "12.5", ObjectDisplay.FormatLiteral( singleValue, ObjectDisplayOptions.None, CultureInfo.InvariantCulture ) ); Assert.Equal( "12,5", ObjectDisplay.FormatLiteral( singleValue, ObjectDisplayOptions.None, CultureInfo.CurrentCulture ) ); Assert.Equal( "12.5F", ObjectDisplay.FormatLiteral(singleValue, ObjectDisplayOptions.IncludeTypeSuffix) ); int intValue = 12; Assert.Equal("12", intValue.ToString()); Assert.Equal( "12", ObjectDisplay.FormatLiteral(intValue, ObjectDisplayOptions.None) ); Assert.Equal( "12", ObjectDisplay.FormatLiteral( intValue, ObjectDisplayOptions.None, CultureInfo.InvariantCulture ) ); Assert.Equal( "12", ObjectDisplay.FormatLiteral( intValue, ObjectDisplayOptions.None, CultureInfo.CurrentCulture ) ); } }
private string FormatPrimitive(object obj, bool quoteStrings = false) { return(ObjectDisplay.FormatPrimitive(obj, quoteStrings ? ObjectDisplayOptions.UseQuotes : ObjectDisplayOptions.None)); }
public void Strings_Verbatim() { Assert.Equal("@\"\n\"", ObjectDisplay.FormatLiteral("\n", ObjectDisplayOptions.UseQuotes)); Assert.Equal("@\"\"\"\n\"", ObjectDisplay.FormatLiteral("\"\n", ObjectDisplayOptions.UseQuotes)); }
public virtual void OnDeath(ObjectDisplay damagedBy) { OnDeath(); }