示例#1
0
        public void CanReadWriteMultiple()
        {
            var sut1 = _fixture.Create <DbaseBoolean>();
            var sut2 = _fixture.Create <DbaseBoolean>();

            using (var stream = new MemoryStream())
            {
                using (var writer = new BinaryWriter(stream, Encoding.ASCII, true))
                {
                    sut1.Write(writer);
                    sut2.Write(writer);
                    writer.Flush();
                }

                stream.Position = 0;

                using (var reader = new BinaryReader(stream, Encoding.ASCII, true))
                {
                    var result1 = new DbaseBoolean(sut1.Field);
                    var result2 = new DbaseBoolean(sut2.Field);
                    result1.Read(reader);
                    result2.Read(reader);

                    Assert.Equal(sut1.Field, result1.Field);
                    Assert.Equal(sut2.Field, result2.Field);
                    Assert.Equal(sut1.Value, result1.Value);
                    Assert.Equal(sut2.Value, result2.Value);
                }
            }
        }
示例#2
0
        public void CanReadWriteNull()
        {
            var sut = _fixture.Create <DbaseBoolean>();

            sut.Value = null;

            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 = new DbaseBoolean(sut.Field);
                    result.Read(reader);

                    Assert.Equal(sut.Field, result.Field);
                    Assert.Equal(sut.Value, result.Value);
                }
            }
        }
示例#3
0
        public void CanReadWriteNull()
        {
            _fixture.CustomizeDbaseBooleanWithoutValue();
            var sut = _fixture.Create <DbaseBoolean>();

            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 = new DbaseBoolean(sut.Field);
                    result.Read(reader);

                    Assert.Equal(sut.Field, result.Field);
                    Assert.Throws <FormatException>(() => sut.Value);
                }
            }
        }
示例#4
0
        public void CanNotReadPastEndOfStream()
        {
            var sut = _fixture.Create <DbaseBoolean>();

            using (var stream = new MemoryStream())
            {
                stream.Position = 0;

                using (var reader = new BinaryReader(stream, Encoding.ASCII, true))
                {
                    var result = new DbaseBoolean(sut.Field);
                    Assert.Throws <EndOfStreamException>(() => result.Read(reader));
                }
            }
        }
示例#5
0
        public void CanReadAllValidRepresentations(char representation, bool?value)
        {
            var sut = _fixture.Create <DbaseBoolean>();

            using (var stream = new MemoryStream())
            {
                using (var writer = new BinaryWriter(stream, Encoding.ASCII, true))
                {
                    writer.Write(Convert.ToByte(representation));
                    writer.Flush();
                }

                stream.Position = 0;

                using (var reader = new BinaryReader(stream, Encoding.ASCII, true))
                {
                    var result = new DbaseBoolean(sut.Field);
                    result.Read(reader);

                    Assert.Equal(sut.Field, result.Field);
                    Assert.Equal(value, result.Value);
                }
            }
        }
 public void Visit(DbaseBoolean value)
 {
     value.Value = _fixture.Create <bool>();
 }
示例#7
0
 public void Inspect(DbaseBoolean value)
 {
     value.Value = _fixture.Create <bool?>();
 }
示例#8
0
 public void Inspect(DbaseBoolean value)
 {
     HashCode = value.Value != null
         ? value.Value.GetHashCode()
         : 0;
 }
示例#9
0
 public void Inspect(DbaseBoolean value)
 {
     Value = value.Value;
 }
示例#10
0
 public void Inspect(DbaseBoolean value)
 {
     Comparer = new DelegatingDbaseFieldValueEqualityComparer <DbaseBoolean>(
         new DbaseBooleanEqualityComparer());
 }
示例#11
0
 public void Visit(DbaseBoolean value)
 {
     HashCode = value.Value.GetHashCode();
 }