示例#1
0
        public void TestConvertFromFullComplete()
        {
            TestInteropPerson person = TestInteropPerson.CreateBuilder()
                                       .SetId(123)
                                       .SetName("abc")
                                       .SetEmail("*****@*****.**")
                                       .AddRangeCodes(new[] { 1, 2, 3 })
                                       .AddPhone(TestInteropPerson.Types.PhoneNumber.CreateBuilder().SetNumber("555-1234").Build())
                                       .AddPhone(TestInteropPerson.Types.PhoneNumber.CreateBuilder().SetNumber("555-5678").Build())
                                       .AddAddresses(
                TestInteropPerson.Types.Addresses.CreateBuilder().SetAddress("123 Seseme").SetCity("Wonderland").
                SetState("NA").SetZip(12345).Build())
                                       .SetExtension(UnittestExtrasFull.EmployeeId,
                                                     TestInteropEmployeeId.CreateBuilder().SetNumber("123").Build())
                                       .Build();

            Assert.IsTrue(person.IsInitialized);

            ExtensionRegistry registry = ExtensionRegistry.CreateInstance();

            UnittestExtrasLite.RegisterAllExtensions(registry);
            byte[] fullBytes = person.ToByteArray();

            TestInteropPersonLite copy = TestInteropPersonLite.ParseFrom(fullBytes, registry);

            byte[] liteBytes = copy.ToByteArray();

            Assert.AreEqual(fullBytes, liteBytes);
        }
示例#2
0
        public void TestRestoreFromOtherType()
        {
            TestInteropPerson person = TestInteropPerson.CreateBuilder()
                                       .SetId(123)
                                       .SetName("abc")
                                       .SetEmail("*****@*****.**")
                                       .AddRangeCodes(new[] { 1, 2, 3 })
                                       .AddPhone(TestInteropPerson.Types.PhoneNumber.CreateBuilder().SetNumber("555-1234").Build())
                                       .AddPhone(TestInteropPerson.Types.PhoneNumber.CreateBuilder().SetNumber("555-5678").Build())
                                       .AddAddresses(
                TestInteropPerson.Types.Addresses.CreateBuilder().SetAddress("123 Seseme").SetCity("Wonderland").
                SetState("NA").SetZip(12345).Build())
                                       .SetExtension(UnittestExtrasFull.EmployeeId,
                                                     TestInteropEmployeeId.CreateBuilder().SetNumber("123").Build())
                                       .Build();

            Assert.IsTrue(person.IsInitialized);

            TestEmptyMessage temp = TestEmptyMessage.ParseFrom(person.ToByteArray());

            Assert.AreEqual(7, temp.UnknownFields.FieldDictionary.Count);
            temp = temp.ToBuilder().Build();
            Assert.AreEqual(7, temp.UnknownFields.FieldDictionary.Count);

            ExtensionRegistry registry = ExtensionRegistry.CreateInstance();

            UnittestExtrasFull.RegisterAllExtensions(registry);

            TestInteropPerson copy = TestInteropPerson.ParseFrom(temp.ToByteArray(), registry);

            Assert.AreEqual(person, copy);
            Assert.AreEqual(person.ToByteArray(), copy.ToByteArray());
        }