/// <summary>
        /// Reads the full box properties from stream.
        /// </summary>
        /// <param name="reader">The binary reader with the stream.</param>
        protected override void ReadFullBoxPropertiesFromStream(BoxBinaryReader reader)
        {
            var sampleCount = reader.ReadUInt32();

            this.samples = new Sample[sampleCount];

            for (int i = 0; i < sampleCount; i++)
            {
                // TODO: Figure out the iv_size to read this value correctly.
                ulong       initializationVector = reader.ReadUInt64();
                SubSample[] subSamples;

                if ((this.Flags & 0x02) == 0x02)
                {
                    var subSampleCount = reader.ReadUInt16();
                    subSamples = new SubSample[subSampleCount];

                    for (int j = 0; j < subSampleCount; j++)
                    {
                        subSamples[j] = new SubSample(
                            reader.ReadUInt16(),
                            reader.ReadUInt32());
                    }
                }
                else
                {
                    subSamples = new SubSample[0];
                }

                this.samples[i] = new Sample(initializationVector, subSamples);
            }
        }
        /// <summary>
        /// Reads the full box properties from stream.
        /// </summary>
        /// <param name="reader">The binary reader with the stream.</param>
        protected override void ReadFullBoxPropertiesFromStream(BoxBinaryReader reader)
        {
            var sampleCount = reader.ReadUInt32();
            this.samples = new Sample[sampleCount];

            for (int i = 0; i < sampleCount; i++)
            {
                // TODO: Figure out the iv_size to read this value correctly.
                ulong initializationVector = reader.ReadUInt64();
                SubSample[] subSamples;

                if ((this.Flags & 0x02) == 0x02)
                {
                    var subSampleCount = reader.ReadUInt16();
                    subSamples = new SubSample[subSampleCount];

                    for (int j = 0; j < subSampleCount; j++)
                    {
                        subSamples[j] = new SubSample(
                            reader.ReadUInt16(),
                            reader.ReadUInt32());
                    }
                }
                else
                {
                    subSamples = new SubSample[0];
                }

                this.samples[i] = new Sample(initializationVector, subSamples);
            }
        }
        public void Assign_value_to_non_built_in_type_private_field()
        {
            var sample = new Sample();
            var instanceOfSubSample = new SubSample(30000);

            sample.With("privateInstanceOfSubSample", instanceOfSubSample);

            sample.ValueOfPrivateInstanceOfSubSample.Should().BeEquivalentTo(instanceOfSubSample);
        }
        public void Assign_value_to_non_built_in_type_public_property()
        {
            var sample = new Sample();
            var instanceOfSubSample = new SubSample(40000);

            sample.With("InstanceOfSubSample", instanceOfSubSample);

            sample.InstanceOfSubSample.Should().BeEquivalentTo(instanceOfSubSample);
        }
Exemple #5
0
        public void Skip_assigning_to_already_assigned_members_of_non_built_in_type()
        {
            var sample = new Sample();
            var instanceOfSubSample = new SubSample(50000);

            sample
            .With("privateInstanceOfSubSample", instanceOfSubSample)
            .With("InstanceOfSubSample", instanceOfSubSample);

            sample.Generate();

            sample.ValueOfPrivateInstanceOfSubSample.Should().BeEquivalentTo(instanceOfSubSample);
            sample.InstanceOfSubSample.Should().BeEquivalentTo(instanceOfSubSample);
        }
 public Sample(ulong initializationVector, SubSample[] subSamples)
 {
     this.InitializationVector = initializationVector;
     this.subSamples = subSamples;
 }