本文整理汇总了C#中MongoDB.Bson.IO.BsonStreamAdapter.WriteCString方法的典型用法代码示例。如果您正苦于以下问题:C# BsonStreamAdapter.WriteCString方法的具体用法?C# BsonStreamAdapter.WriteCString怎么用?C# BsonStreamAdapter.WriteCString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MongoDB.Bson.IO.BsonStreamAdapter
的用法示例。
在下文中一共展示了BsonStreamAdapter.WriteCString方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Assert
private void Assert(BsonTrie<int> trie, string name)
{
var subject = new TrieNameDecoder<int>(trie);
using (var memoryStream = new MemoryStream())
using (var bsonStream = new BsonStreamAdapter(memoryStream))
{
bsonStream.WriteCString(name);
bsonStream.WriteInt32(20);
bsonStream.Position = 0;
var result = subject.Decode(bsonStream, Utf8Encodings.Strict);
result.Should().Be(name);
}
}
示例2: WriteCString_should_write_expected_bytes_when_size_is_near_tempUtf8_length
public void WriteCString_should_write_expected_bytes_when_size_is_near_tempUtf8_length(
[Values(-1, 0, 1)]
int delta)
{
var stream = new MemoryStream();
var subject = new BsonStreamAdapter(stream);
var subjectReflector = new Reflector(subject);
var size = subjectReflector._tempUtf8.Length + delta;
var length = size - 1;
var value = new string('a', length);
var expectedBytes = Enumerable.Repeat<byte>(97, length).Concat(new byte[] { 0 }).ToArray();
subject.WriteCString(value);
stream.ToArray().Should().Equal(expectedBytes);
}
示例3: WriteCString_should_write_expected_bytes
public void WriteCString_should_write_expected_bytes(string value, byte[] expectedBytes)
{
var stream = new MemoryStream();
var subject = new BsonStreamAdapter(stream);
subject.WriteCString(value);
stream.ToArray().Should().Equal(expectedBytes);
}
示例4: WriteCString_should_throw_when_value_is_null
public void WriteCString_should_throw_when_value_is_null()
{
var stream = Substitute.For<Stream>();
var subject = new BsonStreamAdapter(stream);
Action action = () => subject.WriteCString(null);
action.ShouldThrow<ArgumentNullException>().And.ParamName.Should().Be("value");
}
示例5: WriteCString_should_throw_when_value_contains_null_bytes
public void WriteCString_should_throw_when_value_contains_null_bytes()
{
var stream = new MemoryStream();
var subject = new BsonStreamAdapter(stream);
var value = "a\0b";
Action action = () => subject.WriteCString(value);
action.ShouldThrow<ArgumentException>().And.ParamName.Should().Be("value");
}
示例6: WriteCString_should_throw_when_subject_is_disposed
public void WriteCString_should_throw_when_subject_is_disposed()
{
var stream = Substitute.For<Stream>();
var subject = new BsonStreamAdapter(stream);
var value = "abc";
subject.Dispose();
Action action = () => subject.WriteCString(value);
action.ShouldThrow<ObjectDisposedException>().And.ObjectName.Should().Be("BsonStreamAdapter");
}
示例7: WriteCString_should_throw_when_value_with_maxByteCount_near_tempUtf8_contains_nulls
public void WriteCString_should_throw_when_value_with_maxByteCount_near_tempUtf8_contains_nulls(
[Values(-1, 0, 1)] int delta)
{
var stream = new MemoryStream();
var subject = new BsonStreamAdapter(stream);
var subjectReflector = new Reflector(subject);
var valueLength = (subjectReflector._tempUtf8.Length / 3) + delta;
var length1 = valueLength / 2;
var length2 = valueLength - length1 - 1;
var value = new string('x', length1) + '\0' + new string('x', length2);
Action action = () => subject.WriteCString(value);
action.ShouldThrow<ArgumentException>().And.ParamName.Should().Be("value");
}