Dreamine.FullKit.Tests 1.0.0.0
Dreamine.FullKit.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.FullKit.Tests.Communication.FrameCodecTests 클래스 참조sealed

더 자세히 ...

Public 멤버 함수

async Task LengthPrefixedCodec_RoundTripsPayload ()
async Task LengthPrefixedCodec_ReturnsNullWhenStreamEndsBeforePayloadCompletes ()
async Task LengthPrefixedCodec_RejectsFramesLargerThanLimit ()
async Task DelimiterCodec_RoundTripsPayloadWithoutDelimiter ()
async Task DelimiterCodec_ReturnsBufferedPayloadWhenStreamEndsWithoutDelimiter ()
async Task DelimiterCodec_PreservesBytesAfterDelimiterForNextFrame ()
async Task DelimiterCodec_RejectsFramesLargerThanLimit ()

상세한 설명

Frame Codec Tests 기능과 관련 상태를 캡슐화합니다.

FrameCodecTests.cs 파일의 15 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ DelimiterCodec_PreservesBytesAfterDelimiterForNextFrame()

async Task Dreamine.FullKit.Tests.Communication.FrameCodecTests.DelimiterCodec_PreservesBytesAfterDelimiterForNextFrame ( )
inline

Delimiter Codec Preserves Bytes After Delimiter For Next Frame 작업을 수행합니다.

반환값
Delimiter Codec Preserves Bytes After Delimiter For Next Frame 작업에서 생성한 Task 결과입니다.

FrameCodecTests.cs 파일의 177 번째 라인에서 정의되었습니다.

178 {
179 using var stream = new MemoryStream(Encoding.UTF8.GetBytes("first|second|"));
180 var codec = new DelimiterMessageFrameCodec("|", Encoding.UTF8, 32);
181
182 var first = await codec.ReadFrameAsync(stream);
183 var second = await codec.ReadFrameAsync(stream);
184
185 Assert.Equal("first", Encoding.UTF8.GetString(first!));
186 Assert.Equal("second", Encoding.UTF8.GetString(second!));
187 }

◆ DelimiterCodec_RejectsFramesLargerThanLimit()

async Task Dreamine.FullKit.Tests.Communication.FrameCodecTests.DelimiterCodec_RejectsFramesLargerThanLimit ( )
inline

Delimiter Codec Rejects Frames Larger Than Limit 작업을 수행합니다.

반환값
Delimiter Codec Rejects Frames Larger Than Limit 작업에서 생성한 Task 결과입니다.

FrameCodecTests.cs 파일의 206 번째 라인에서 정의되었습니다.

207 {
208 using var stream = new MemoryStream(Encoding.UTF8.GetBytes("abcd"));
209 var codec = new DelimiterMessageFrameCodec("|", Encoding.UTF8, maxFrameLength: 3);
210
211 await Assert.ThrowsAsync<InvalidDataException>(() => codec.ReadFrameAsync(stream));
212 }

◆ DelimiterCodec_ReturnsBufferedPayloadWhenStreamEndsWithoutDelimiter()

async Task Dreamine.FullKit.Tests.Communication.FrameCodecTests.DelimiterCodec_ReturnsBufferedPayloadWhenStreamEndsWithoutDelimiter ( )
inline

Delimiter Codec Returns Buffered Payload When Stream Ends Without Delimiter 작업을 수행합니다.

반환값
Delimiter Codec Returns Buffered Payload When Stream Ends Without Delimiter 작업에서 생성한 Task 결과입니다.

FrameCodecTests.cs 파일의 150 번째 라인에서 정의되었습니다.

151 {
152 using var stream = new MemoryStream(Encoding.UTF8.GetBytes("partial"));
153
154 var result = await new DelimiterMessageFrameCodec("|", Encoding.UTF8, 32)
155 .ReadFrameAsync(stream);
156
157 Assert.Equal("partial", Encoding.UTF8.GetString(result!));
158 }

◆ DelimiterCodec_RoundTripsPayloadWithoutDelimiter()

async Task Dreamine.FullKit.Tests.Communication.FrameCodecTests.DelimiterCodec_RoundTripsPayloadWithoutDelimiter ( )
inline

Delimiter Codec Round Trips Payload Without Delimiter 작업을 수행합니다.

반환값
Delimiter Codec Round Trips Payload Without Delimiter 작업에서 생성한 Task 결과입니다.

FrameCodecTests.cs 파일의 119 번째 라인에서 정의되었습니다.

120 {
121 var codec = new DelimiterMessageFrameCodec("|", Encoding.UTF8, maxFrameLength: 32);
122 var payload = Encoding.UTF8.GetBytes("one message");
123 using var stream = new MemoryStream();
124
125 await codec.WriteFrameAsync(stream, payload);
126 stream.Position = 0;
127
128 var result = await codec.ReadFrameAsync(stream);
129
130 Assert.Equal(payload, result);
131 }

◆ LengthPrefixedCodec_RejectsFramesLargerThanLimit()

async Task Dreamine.FullKit.Tests.Communication.FrameCodecTests.LengthPrefixedCodec_RejectsFramesLargerThanLimit ( )
inline

Length Prefixed Codec Rejects Frames Larger Than Limit 작업을 수행합니다.

반환값
Length Prefixed Codec Rejects Frames Larger Than Limit 작업에서 생성한 Task 결과입니다.

FrameCodecTests.cs 파일의 93 번째 라인에서 정의되었습니다.

94 {
95 using var stream = new MemoryStream();
96 var codec = new LengthPrefixedMessageFrameCodec(maxFrameLength: 2);
97
98 await Assert.ThrowsAsync<InvalidDataException>(
99 () => codec.WriteFrameAsync(stream, new byte[] { 1, 2, 3 }));
100 }

◆ LengthPrefixedCodec_ReturnsNullWhenStreamEndsBeforePayloadCompletes()

async Task Dreamine.FullKit.Tests.Communication.FrameCodecTests.LengthPrefixedCodec_ReturnsNullWhenStreamEndsBeforePayloadCompletes ( )
inline

Length Prefixed Codec Returns Null When Stream Ends Before Payload Completes 작업을 수행합니다.

반환값
Length Prefixed Codec Returns Null When Stream Ends Before Payload Completes 작업에서 생성한 Task 결과입니다.

FrameCodecTests.cs 파일의 65 번째 라인에서 정의되었습니다.

66 {
67 var header = new byte[4];
68 BinaryPrimitives.WriteInt32BigEndian(header, 5);
69 using var stream = new MemoryStream(header.Concat(new byte[] { 1, 2 }).ToArray());
70
71 var result = await new LengthPrefixedMessageFrameCodec().ReadFrameAsync(stream);
72
73 Assert.Null(result);
74 }

◆ LengthPrefixedCodec_RoundTripsPayload()

async Task Dreamine.FullKit.Tests.Communication.FrameCodecTests.LengthPrefixedCodec_RoundTripsPayload ( )
inline

Length Prefixed Codec Round Trips Payload 작업을 수행합니다.

반환값
Length Prefixed Codec Round Trips Payload 작업에서 생성한 Task 결과입니다.

FrameCodecTests.cs 파일의 34 번째 라인에서 정의되었습니다.

35 {
36 var codec = new LengthPrefixedMessageFrameCodec();
37 var payload = Encoding.UTF8.GetBytes("hello frame");
38 using var stream = new MemoryStream();
39
40 await codec.WriteFrameAsync(stream, payload);
41 stream.Position = 0;
42
43 var result = await codec.ReadFrameAsync(stream);
44
45 Assert.Equal(payload, result);
46 }

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: