public void MainTest() { var u1 = default(EmberId); var n1 = this.Random.Next(); var n2 = n1 + 1; var a1 = EmberId.CreateApplication(n1); var a2 = EmberId.CreateApplication(n2); var c1 = EmberId.CreateContextSpecific(n1); EmberId p1; using (var stream = new MemoryStream(new byte[] { 0xE0, 0x03, 0x01, 0x01, 0xFF })) using (var reader = new EmberReader(stream, 1)) { reader.Read(); p1 = reader.OuterId; } TestStructEquality(a1, a2, (l, r) => l == r, (l, r) => l != r); TestStructEquality(a1, c1, (l, r) => l == r, (l, r) => l != r); TestParse(u1); TestParse(a1); TestParse(c1); TestParse(p1); EmberId dummy; Assert.IsFalse(EmberId.TryParse("S-234", out dummy)); Assert.IsFalse(EmberId.TryParse("U+234", out dummy)); Assert.IsFalse(EmberId.TryParse("P--234", out dummy)); Assert.IsFalse(EmberId.TryParse("A-89345734579385749354", out dummy)); }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////// private static void TestParse(EmberId emberId) { EmberId parsed; Assert.IsTrue(EmberId.TryParse(emberId.ToString(), out parsed)); Assert.AreEqual(emberId, parsed); Console.WriteLine(emberId); }
private EmberId GetFieldId(FieldPath <string, string> fieldPath) { EmberId emberId; if (this.fieldIds.TryGetValue(fieldPath, out emberId) || EmberId.TryParse(fieldPath.Tail.GetValueOrDefault().FieldId, out emberId)) { return(emberId); } throw new XmlException(string.Format(InvariantCulture, "Unknown field path: {0}.", fieldPath)); }
private int GetInnerNumber(string type) { int innerNumber; if (this.innerNumbers.TryGetValue(type, out innerNumber)) { return(innerNumber); } EmberId id; int? innerNumberCandidate; if (EmberId.TryParse(type, out id) && (innerNumberCandidate = id.ToInnerNumber()).HasValue) { return(innerNumberCandidate.Value); } throw new XmlException(string.Format(InvariantCulture, "Unknown type: {0}.", type)); }