Example #1
0
        public void ModelCloner_CloneMemberwiseClone()
        {
            // Arrange
            ModelClass model = new ModelClass {
                Name = "Mr. Unit Test"
            };

            // Act
            ModelClass modelClone = ModelCloner.CloneMemberwiseClone(model);

            // Assert
            Assert.AreNotSame(model, modelClone);
            Assert.AreEqual(model.Name, modelClone.Name);
        }
Example #2
0
        public void ModelCloner_TryCloneCloneable()
        {
            // Arrange
            Mock <ICloneable> modelMock = new Mock <ICloneable>(MockBehavior.Strict);

            modelMock.Setup(m => m.Clone()).Returns(() => modelMock.Object);             // we do not need true clone (in this test).

            // Act
            bool success = ModelCloner.TryCloneCloneable(modelMock.Object, out ICloneable modelClone);

            // Assert
            Assert.IsTrue(success);
            modelMock.Verify(m => m.Clone(), Times.Once());             // Clone was called
        }
Example #3
0
        public void ModelCloner_TryCloneRecord()
        {
            // Arrange
            ModelRecord model = new ModelRecord {
                Name = "Mr. Unit Test"
            };

            // Act
            bool success = ModelCloner.TryCloneRecord(model, out ModelRecord modelClone);

            // Assert
            Assert.IsTrue(success);
            Assert.AreNotSame(model, modelClone);
            Assert.AreEqual(model.Name, modelClone.Name);
        }
        private Model3DGroup CreateEntireCamel(int numlegs, bool autocompos)
        {
            Model3DGroup thelegtemplate = CreateLeg();

            AutoCompositeLeg(thelegtemplate);

            ModelsOnTurntable.Children.Clear();
            TRVU_model.Items.Clear();

            Model3DGroup cam = CreateCamel();

            if (autocompos)
            {
                AutoCompositeHeadTrunk(cam);
            }

            if (numlegs > 0)
            {
                numlegs--;
                cam.Children.Add(ModelCloner.Clone(this, thelegtemplate, "FrontLeft_"));
            }
            if (numlegs > 0)
            {
                numlegs--;
                cam.Children.Add(ModelCloner.Clone(this, thelegtemplate, "FrontRight_"));
            }
            if (numlegs > 0)
            {
                numlegs--;
                cam.Children.Add(ModelCloner.Clone(this, thelegtemplate, "RearLeft_"));
            }

            if (numlegs > 0)
            {
                numlegs--;
                cam.Children.Add(ModelCloner.Clone(this, thelegtemplate, "RearRight_"));
            }

            if (autocompos)
            {
                AutoCompositeLegs();
            }


            ModelsOnTurntable.Children.Add(cam);
            return(cam);
        }