public Tuple <string, string> ToString(PatternMaskFormat format) { switch (format) { case PatternMaskFormat.Separated: return(HasWildcard ? Tuple.Create("\\x00", "?") : Tuple.Create($"\\x{ToByte():X02}", "x")); case PatternMaskFormat.Combined: var sb = new StringBuilder(); if (nibble1.IsWildcard) { sb.Append('?'); } else { sb.AppendFormat("{0:X}", nibble1.Value); } if (nibble2.IsWildcard) { sb.Append('?'); } else { sb.AppendFormat("{0:X}", nibble2.Value); } return(Tuple.Create(sb.ToString(), (string)null)); default: throw new ArgumentOutOfRangeException(nameof(format), format, null); } }
public void TestToString(string input, PatternMaskFormat format, string expectedPattern, string expectedMask) { var sut = BytePattern.Parse(input); var(pattern, mask) = sut.ToString(format); Check.That(pattern).IsEqualTo(expectedPattern); Check.That(mask).IsEqualTo(expectedMask); }
public Tuple <string, string> ToString(PatternMaskFormat format) { switch (format) { case PatternMaskFormat.Separated: return(Tuple.Create($"\\x{ToByte():X02}", "x")); case PatternMaskFormat.Combined: return(Tuple.Create($"{ToByte():X02}", (string)null)); default: throw new ArgumentOutOfRangeException(nameof(format), format, null); } }