public void constructor_should_initialize_instance() { var wrappedReader = Substitute.For<IBsonReader>(); var result = new JsonReaderAdapter(wrappedReader); result.Should().BeOfType<JsonReaderAdapter>(); }
static void Main(string[] args) { //利用adapter模式,避免需更動所有直接依賴的物件, //只需更改被轉接的物件,不用動到adapter的實例後的程式。 string path = @"D:\LinkedinLearning\DesignPatten\DesginPattern\Adapter\MyJson.json"; bool bol = File.Exists(path); var adapter = new JsonReaderAdapter(path); var data = adapter.ReadJson <Exclude>(); }
public void Close_should_close_wrapped_reader_when_CloseInput_is_true(bool closeInput) { var wrappedReader = Substitute.For<IBsonReader>(); var subject = new JsonReaderAdapter(wrappedReader); subject.CloseInput = closeInput; subject.Close(); wrappedReader.Received(closeInput ? 1 : 0).Close(); }
public void Read_should_return_false_when_wrapped_reader_state_is_Done() { var document = new BsonDocument(); var wrappedReader = new BsonDocumentReader(document); var subject = new JsonReaderAdapter(wrappedReader); subject.Read(); // StartObject subject.Read(); // EndObject wrappedReader.State.Should().Be(BsonReaderState.Done); var result = subject.Read(); result.Should().BeFalse(); }
internal override void BeginRead(Stream input) => reader = new JsonReaderAdapter(input);