| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 
							- // Protocol Buffers - Google's data interchange format
 
- // Copyright 2008 Google Inc.
 
- // http://code.google.com/p/protobuf/
 
- //
 
- // Licensed under the Apache License, Version 2.0 (the "License");
 
- // you may not use this file except in compliance with the License.
 
- // You may obtain a copy of the License at
 
- //
 
- //      http://www.apache.org/licenses/LICENSE-2.0
 
- //
 
- // Unless required by applicable law or agreed to in writing, software
 
- // distributed under the License is distributed on an "AS IS" BASIS,
 
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
- // See the License for the specific language governing permissions and
 
- // limitations under the License.
 
- using System.Text;
 
- using NUnit.Framework;
 
- namespace Google.ProtocolBuffers {
 
-   [TestFixture]
 
-   public class ByteStringTest {
 
-     [Test]
 
-     public void EmptyByteStringHasZeroSize() {
 
-       Assert.AreEqual(0, ByteString.Empty.Length);
 
-     }
 
-     [Test]
 
-     public void CopyFromStringWithExplicitEncoding() {
 
-       ByteString bs = ByteString.CopyFrom("AB", Encoding.Unicode);
 
-       Assert.AreEqual(4, bs.Length);
 
-       Assert.AreEqual(65, bs[0]);
 
-       Assert.AreEqual(0, bs[1]);
 
-       Assert.AreEqual(66, bs[2]);
 
-       Assert.AreEqual(0, bs[3]);
 
-     }
 
-     [Test]
 
-     public void IsEmptyWhenEmpty() {
 
-       Assert.IsTrue(ByteString.CopyFromUtf8("").IsEmpty);
 
-     }
 
-     [Test]
 
-     public void IsEmptyWhenNotEmpty() {
 
-       Assert.IsFalse(ByteString.CopyFromUtf8("X").IsEmpty);
 
-     }
 
-     [Test]
 
-     public void CopyFromByteArrayCopiesContents() {
 
-       byte[] data = new byte[1];
 
-       data[0] = 10;
 
-       ByteString bs = ByteString.CopyFrom(data);
 
-       Assert.AreEqual(10, bs[0]);
 
-       data[0] = 5;
 
-       Assert.AreEqual(10, bs[0]);
 
-     }
 
-     [Test]
 
-     public void ToByteArrayCopiesContents() {
 
-       ByteString bs = ByteString.CopyFromUtf8("Hello");
 
-       byte[] data = bs.ToByteArray();
 
-       Assert.AreEqual('H', data[0]);
 
-       Assert.AreEqual('H', bs[0]);
 
-       data[0] = 0;
 
-       Assert.AreEqual(0, data[0]);
 
-       Assert.AreEqual('H', bs[0]);
 
-     }
 
-     [Test]
 
-     public void CopyFromUtf8UsesUtf8() {
 
-       ByteString bs = ByteString.CopyFromUtf8("\u20ac");
 
-       Assert.AreEqual(3, bs.Length);
 
-       Assert.AreEqual(0xe2, bs[0]);
 
-       Assert.AreEqual(0x82, bs[1]);
 
-       Assert.AreEqual(0xac, bs[2]);
 
-     }
 
-     [Test]
 
-     public void CopyFromPortion() {
 
-       byte[] data = new byte[]{0, 1, 2, 3, 4, 5, 6};
 
-       ByteString bs = ByteString.CopyFrom(data, 2, 3);
 
-       Assert.AreEqual(3, bs.Length);
 
-       Assert.AreEqual(2, bs[0]);
 
-       Assert.AreEqual(3, bs[1]);
 
-     }
 
-     [Test]
 
-     public void ToStringUtf8() {
 
-       ByteString bs = ByteString.CopyFromUtf8("\u20ac");
 
-       Assert.AreEqual("\u20ac", bs.ToStringUtf8());
 
-     }
 
-     [Test]
 
-     public void ToStringWithExplicitEncoding() {
 
-       ByteString bs = ByteString.CopyFrom("\u20ac", Encoding.Unicode);
 
-       Assert.AreEqual("\u20ac", bs.ToString(Encoding.Unicode));
 
-     }
 
-   }
 
- }
 
 
  |