public void Create() { // 正常系 var src = new MemoryStream(); var header = new ObjectHeader( Guid.NewGuid(), ObjectHeader.ClassByteSize ); { var test = new UnknownObject( src, header ); Assert.AreEqual( header.Guid, test.Id ); Assert.AreEqual( header.Size, test.Size ); } // 異常系 Assert.Throws< ArgumentNullException >( () => { var obj = new UnknownObject( null, null ); } ); Assert.Throws< ArgumentNullException >( () => { var obj = new UnknownObject( src, null ); } ); Assert.Throws< ArgumentNullException >( () => { var obj = new UnknownObject( null, header ); } ); }
public void Save() { var src = this.CreateStream(); var srcObject = new UnknownObject( src, new ObjectHeader( src ) ); // 書き込み後、ストリーム上の位置が終端となるため、ヘッダ読み込み用に先頭へ戻す // Owl クライアントは ASF オブジェクトを直接操作しないため、通常は意識する必要のない処理 // var dest = new MemoryStream(); srcObject.Save( src, dest ); dest.Seek( 0, SeekOrigin.Begin ); var destObject = new UnknownObject( dest, new ObjectHeader( dest ) ); // 複製が適切におこなわれたことをチェック Assert.AreEqual( srcObject.Size, destObject.Size, "Size" ); Assert.AreEqual( srcObject.Id, destObject.Id, "ID" ); }