public void ReadCanReadWrittenAnonymousShape() { var sut = _fixture.Create <AnonymousShapeContent>(); using (var stream = new MemoryStream()) { using (var writer = new BinaryWriter(stream, Encoding.ASCII, true)) { sut.Write(writer); writer.Flush(); } stream.Position = 0; using (var reader = new BinaryReader(stream, Encoding.ASCII, true)) { var result = ShapeContent.Read(reader); Assert.Equal(sut.ShapeType, result.ShapeType); Assert.Equal(sut.ContentLength, result.ContentLength); switch (result) { case PointShapeContent instance: Assert.Equal(sut.Content, instance.ToBytes(Encoding.ASCII)); break; case PolyLineMShapeContent instance: Assert.Equal(sut.Content, instance.ToBytes(Encoding.ASCII)); break; } } } }
public void ReadCanReadWrittenPolygonShape() { var shape = _fixture.Create <Polygon>(); var sut = new PolygonShapeContent(shape); using (var stream = new MemoryStream()) { using (var writer = new BinaryWriter(stream, Encoding.ASCII, true)) { sut.Write(writer); writer.Flush(); } stream.Position = 0; using (var reader = new BinaryReader(stream, Encoding.ASCII, true)) { var result = (PolygonShapeContent)ShapeContent.Read(reader); Assert.Equal(sut.Shape, result.Shape); Assert.Equal(sut.ShapeType, result.ShapeType); Assert.Equal(sut.ContentLength, result.ContentLength); } } }
public void ReadCanNotReadOtherShapeType(ShapeType other) { using (var stream = new MemoryStream()) { using (var writer = new BinaryWriter(stream, Encoding.ASCII, true)) { writer.WriteInt32LittleEndian((int)other); writer.Flush(); } stream.Position = 0; using (var reader = new BinaryReader(stream, Encoding.ASCII, true)) { Assert.Throws <ShapeRecordContentException>( () => ShapeContent.Read(reader) ); } } }
public void ReadCanReadWriteNullShape() { var sut = NullShapeContent.Instance; using (var stream = new MemoryStream()) { using (var writer = new BinaryWriter(stream, Encoding.ASCII, true)) { sut.Write(writer); writer.Flush(); } stream.Position = 0; using (var reader = new BinaryReader(stream, Encoding.ASCII, true)) { var result = (NullShapeContent)ShapeContent.Read(reader); Assert.Equal(sut.ShapeType, result.ShapeType); Assert.Equal(sut.ContentLength, result.ContentLength); } } }
public void ReadReaderCanNotBeNull() { new GuardClauseAssertion(_fixture) .Verify(Methods.Select(() => ShapeContent.Read(null))); }