Exemple #1
0
        public async Task DeserializeAsync_WithOneAxisAndSomeValuesAndOneValueDifferent_ReturnsTheValuesAsync()
        {
            var deserializer = new ContentDeserializer();
            var header       = new HeaderBuilder()
                               .WithContentDataType(DataContentType.INTEGER)
                               .WithNumberOfAxis(1)
                               .WithAxisOfSize(dimensionIndex: 1, size: 10)
                               .Build();
            var dataStream = new ContentStreamBuilder()
                             .WithDataBeingInitializedWith(123, header)
                             .WithDataAtCoordinates(
                10,
                new Dictionary <uint, ulong> {
                { 0, 5 }
            },
                header)
                             .Build();

            var deserilaizedContent = await deserializer.DeserializeAsync(PipeReader.Create(dataStream), header);

            deserilaizedContent.Should().NotBeNull();
            deserilaizedContent.Value.ToArray().Should().HaveCount(10);
            deserilaizedContent.Value.Span[4].Should().Equals(10);
            deserilaizedContent.Value.ToArray().Select((d, i) => (i, d)).Where(d => d.i != 5).All(d => (int)d.d == 123).Should().BeTrue();
        }
Exemple #2
0
        public async Task DeserializeAsync_WithNoContent_ReturnsNullAsync()
        {
            var deserializer = new ContentDeserializer();
            var header       = new HeaderBuilder()
                               .WithNumberOfAxis(0)
                               .Build();
            var dataStream = new ContentStreamBuilder()
                             .WithEmptyContent()
                             .Build();

            var deserilaizedContent = await deserializer.DeserializeAsync(PipeReader.Create(dataStream), header);

            deserilaizedContent.Should().BeNull();
        }
Exemple #3
0
        public async Task DeserializeAsync_WithDataOfTypeDouble_ReturnsTheValuesAsync()
        {
            var deserializer = new ContentDeserializer();
            var header       = new HeaderBuilder()
                               .WithContentDataType(DataContentType.DOUBLE)
                               .WithNumberOfAxis(1)
                               .WithAxisOfSize(dimensionIndex: 1, size: 10)
                               .Build();
            var dataStream = new ContentStreamBuilder()
                             .WithDataBeingInitializedWith((double)123, header)
                             .Build();

            var deserilaizedContent = await deserializer.DeserializeAsync(PipeReader.Create(dataStream), header);

            deserilaizedContent.Should().NotBeNull();
            deserilaizedContent.Value.ToArray().Should().HaveCount(10);
            deserilaizedContent.Value.ToArray().All(d => (double)d == 123).Should().BeTrue();
        }
Exemple #4
0
        public async Task DeserializeAsync_WithTwoAxisAndDefaultValues_ReturnsAllValuesAsync()
        {
            var deserializer = new ContentDeserializer();
            var header       = new HeaderBuilder()
                               .WithContentDataType(DataContentType.INTEGER)
                               .WithNumberOfAxis(2)
                               .WithAxisOfSize(dimensionIndex: 1, size: 10)
                               .WithAxisOfSize(dimensionIndex: 2, size: 20)
                               .Build();
            var dataStream = new ContentStreamBuilder()
                             .WithDataBeingInitializedWith(123, header)
                             .Build();

            var deserilaizedContent = await deserializer.DeserializeAsync(PipeReader.Create(dataStream), header);

            deserilaizedContent.Should().NotBeNull();
            deserilaizedContent.Value.ToArray().Should().HaveCount(10 * 20);
            deserilaizedContent.Value.ToArray().All(d => (int)d == 123).Should().BeTrue();
        }