public void Test_Box()
        {
            var box = new Box();
            box.Name = "Box";
            box.Comment = "Comment";
            box.CreationTime = DateTime.Now;
            box.Seeds.Add(new Seed() { Name = "Seed" });
            box.Boxes.Add(new Box() { Name = "Box" });

            DigitalSignature digitalSignature = new DigitalSignature("123", DigitalSignatureAlgorithm.EcDsaP521_Sha256);
            box.CreateCertificate(digitalSignature);

            var box2 = box.Clone();

            Assert.AreEqual(box, box2, "Box #1");

            Box box3;

            using (var boxStream = box.Export(_bufferManager))
            {
                box3 = Box.Import(boxStream, _bufferManager);
            }

            Assert.AreEqual(box, box3, "Box #2");
            Assert.IsTrue(box3.VerifyCertificate(), "Box #3");

            {
                var parentBox = new Box();
                var childBox = parentBox;

                for (int i = 0; i < 256; i++)
                {
                    var tempBox = new Box();
                    childBox.Boxes.Add(tempBox);
                    childBox = tempBox;
                }

                using (var binaryBox = parentBox.Export(_bufferManager))
                {

                }
            }

            {
                var parentBox = new Box();
                var childBox = parentBox;

                for (int i = 0; i < 256 + 1; i++)
                {
                    var tempBox = new Box();
                    childBox.Boxes.Add(tempBox);
                    childBox = tempBox;
                }

                Assert.Throws<ArgumentException>(() =>
                {
                    using (var binaryBox = parentBox.Export(_bufferManager))
                    {

                    }
                });
            }

            {
                var parentBox = new T_Box();
                var childBox = parentBox;

                for (int i = 0; i < 256; i++)
                {
                    var tempBox = new T_Box();
                    childBox.D_Boxes.Add(tempBox);
                    childBox = tempBox;
                }

                using (var binaryBox = parentBox.Export(_bufferManager))
                {
                    Box.Import(binaryBox, _bufferManager);
                }
            }

            {
                var parentBox = new T_Box();
                var childBox = parentBox;

                for (int i = 0; i < 256 + 1; i++)
                {
                    var tempBox = new T_Box();
                    childBox.D_Boxes.Add(tempBox);
                    childBox = tempBox;
                }

                Assert.Throws<ArgumentException>(() =>
                {
                    using (var binaryBox = parentBox.Export(_bufferManager))
                    {
                        Box.Import(binaryBox, _bufferManager);
                    }
                });
            }
        }
Exemple #2
0
 public Box(T_Box box, GameObject _model)
 {
     box_id   = box.box_id;
     box_type = box.box_type;
     model    = _model;
 }