public void WriteB3dmWithBatchTest()
        {
            // arrange
            var buildingGlb    = File.ReadAllBytes(@"testfixtures/with_batch.glb");
            var batchTableJson = File.ReadAllText(@"testfixtures/BatchTableJsonExpected.json");

            var b3dmBytesExpected = File.OpenRead(@"testfixtures/with_batch.b3dm");
            var b3dmExpected      = B3dmReader.ReadB3dm(b3dmBytesExpected);

            var b3dm = new B3dm(buildingGlb);

            b3dm.FeatureTableJson   = b3dmExpected.FeatureTableJson;
            b3dm.BatchTableJson     = b3dmExpected.BatchTableJson;
            b3dm.FeatureTableBinary = b3dmExpected.FeatureTableBinary;
            b3dm.BatchTableBinary   = b3dmExpected.BatchTableBinary;

            // act
            var result     = "with_batch.b3dm";
            var newB3dm    = B3dmWriter.WriteB3dm(result, b3dm);
            var b3dmActual = B3dmReader.ReadB3dm(File.OpenRead(newB3dm));

            // Assert
            Assert.IsTrue(b3dmActual.B3dmHeader.Magic == b3dmExpected.B3dmHeader.Magic);
            Assert.IsTrue(b3dmActual.B3dmHeader.Version == b3dmExpected.B3dmHeader.Version);
            Assert.IsTrue(b3dmActual.B3dmHeader.FeatureTableJsonByteLength == b3dmExpected.B3dmHeader.FeatureTableJsonByteLength);
            Assert.IsTrue(b3dmActual.B3dmHeader.BatchTableJsonByteLength == b3dmExpected.B3dmHeader.BatchTableJsonByteLength);
            Assert.IsTrue(b3dmActual.B3dmHeader.ByteLength == b3dmExpected.B3dmHeader.ByteLength);

            var fiResult   = new FileInfo(result);
            var fiExpected = new FileInfo(@"testfixtures/with_batch.b3dm");

            Assert.IsTrue(fiResult.Length == fiExpected.Length);
            Assert.IsTrue(FilesAreEqual(fiResult, fiExpected));
        }
示例#2
0
        public void WriteB3dmWithBatchTest()
        {
            // arrange
            var buildingGlb    = File.ReadAllBytes(@"testfixtures/with_batch.glb");
            var batchTableJson = File.ReadAllText(@"testfixtures/BatchTableJsonExpected.json");

            var b3dmBytesExpected = File.OpenRead(@"testfixtures/with_batch.b3dm");
            var b3dmExpected      = B3dmReader.ReadB3dm(b3dmBytesExpected);
            var errors            = b3dmExpected.B3dmHeader.Validate();

            Assert.IsTrue(errors.Count > 0);

            var b3dm = new B3dm(buildingGlb);

            b3dm.FeatureTableJson   = b3dmExpected.FeatureTableJson;
            b3dm.BatchTableJson     = b3dmExpected.BatchTableJson;
            b3dm.FeatureTableBinary = b3dmExpected.FeatureTableBinary;
            b3dm.BatchTableBinary   = b3dmExpected.BatchTableBinary;

            // act
            var result = "with_batch.b3dm";
            var bytes  = b3dm.ToBytes();

            File.WriteAllBytes(result, bytes);
            var b3dmActual = B3dmReader.ReadB3dm(File.OpenRead(result));

            // Assert
            var errorsActual = b3dmActual.B3dmHeader.Validate();

            Assert.IsTrue(errorsActual.Count == 0);

            Assert.IsTrue(b3dmActual.B3dmHeader.Magic == b3dmExpected.B3dmHeader.Magic);
            Assert.IsTrue(b3dmActual.B3dmHeader.Version == b3dmExpected.B3dmHeader.Version);
            Assert.IsTrue(b3dmActual.B3dmHeader.FeatureTableJsonByteLength == b3dmExpected.B3dmHeader.FeatureTableJsonByteLength);
        }
示例#3
0
        public void ReadB3dmWithGlbTest()
        {
            // arrange
            var buildingGlb = File.ReadAllBytes(@"testfixtures/building.glb");

            // act

            var b3dm = new B3dm(buildingGlb);

            // assert
            Assert.IsTrue(b3dm.GlbData.Length == 2924);
        }
示例#4
0
        public void WriteB3dmTest()
        {
            // arrange
            var buildingGlb = File.ReadAllBytes(@"testfixtures/1.glb");
            var b3dm        = new B3dm(buildingGlb);

            // act
            var bytes = b3dm.ToBytes();

            // Assert
            Assert.IsTrue(bytes.Length == 94732);
        }
示例#5
0
        public void WriteB3dmWithCyrlllicCharacters()
        {
            // arrange
            var buildingGlb    = File.ReadAllBytes(@"testfixtures/1.glb");
            var b3dm           = new B3dm(buildingGlb);
            var batchTableJson = File.ReadAllText(@"testfixtures/BatchTableWithCyrillicCharacters.json");

            b3dm.BatchTableJson   = batchTableJson;
            b3dm.FeatureTableJson = "{\"BATCH_LENGTH\":12} ";

            // act
            var bytes      = b3dm.ToBytes();
            var b3dmActual = B3dmReader.ReadB3dm(new MemoryStream(bytes));

            // Assert
            Assert.IsTrue(b3dmActual.B3dmHeader.Validate().Count == 0);
        }
        public void WriteB3dmTest()
        {
            // arrange
            var buildingGlb = File.ReadAllBytes(@"testfixtures/1.glb");
            var b3dm        = new B3dm(buildingGlb);

            var b3dmExpected = File.ReadAllBytes(@"testfixtures/1_expected.b3dm");

            // act
            var result = @"1.b3dm";

            B3dmWriter.WriteB3dm(result, b3dm);

            // Assert
            var fiResult   = new FileInfo(result);
            var fiExpected = new FileInfo(@"testfixtures/1_expected.b3dm");

            Assert.IsTrue(FilesAreEqual(fiResult, fiExpected));

            Assert.IsTrue(fiResult.Length == b3dmExpected.Length);
        }