Example #1
0
        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 ); } );
        }
Example #2
0
        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"   );
        }