Esempio n. 1
0
        public void Clone()
        {
            MachineModel original = new MachineModel();

            original.Electronics.Type             = "Electronics Type";
            original.Electronics.Name             = "Electronics Name";
            original.Electronics.Revision         = "Electronics Revision";
            original.Electronics.Firmware.Name    = "Firmware Name";
            original.Electronics.Firmware.Version = "Firmware Version";
            original.Electronics.Firmware.Date    = "Firmware Date";
            original.Electronics.ProcessorID      = "Processor ID";
            original.Electronics.VIn.Current      = 321;
            original.Electronics.VIn.Min          = 654;
            original.Electronics.VIn.Max          = 987;
            original.Electronics.McuTemp.Current  = 123;
            original.Electronics.McuTemp.Min      = 456;
            original.Electronics.McuTemp.Max      = 789;

            ExpansionBoard expansionBoard = new ExpansionBoard();

            expansionBoard.Name             = "Expansion Name";
            expansionBoard.Revision         = "Expansion Revision";
            expansionBoard.Firmware.Name    = "Expansion Firmware Name";
            expansionBoard.Firmware.Date    = "Expansion Firmware Date";
            expansionBoard.Firmware.Version = "Expansion Firmware Version";
            expansionBoard.VIn.Current      = 321;
            expansionBoard.VIn.Min          = 654;
            expansionBoard.VIn.Max          = 987;
            expansionBoard.McuTemp.Current  = 123;
            expansionBoard.McuTemp.Min      = 456;
            expansionBoard.McuTemp.Max      = 789;
            expansionBoard.MaxHeaters       = 12;
            expansionBoard.MaxMotors        = 6;
            original.Electronics.ExpansionBoards.Add(expansionBoard);

            MachineModel clone = (MachineModel)original.Clone();

            Assert.AreEqual(original.Electronics.Type, clone.Electronics.Type);
            Assert.AreEqual(original.Electronics.Name, clone.Electronics.Name);
            Assert.AreEqual(original.Electronics.Revision, clone.Electronics.Revision);
            Assert.AreEqual(original.Electronics.Firmware.Name, clone.Electronics.Firmware.Name);
            Assert.AreEqual(original.Electronics.Firmware.Version, clone.Electronics.Firmware.Version);
            Assert.AreEqual(original.Electronics.Firmware.Date, clone.Electronics.Firmware.Date);
            Assert.AreEqual(original.Electronics.ProcessorID, clone.Electronics.ProcessorID);
            Assert.AreEqual(original.Electronics.VIn.Current, clone.Electronics.VIn.Current);
            Assert.AreEqual(original.Electronics.VIn.Min, clone.Electronics.VIn.Min);
            Assert.AreEqual(original.Electronics.VIn.Max, clone.Electronics.VIn.Max);
            Assert.AreEqual(original.Electronics.McuTemp.Current, clone.Electronics.McuTemp.Current);
            Assert.AreEqual(original.Electronics.McuTemp.Min, clone.Electronics.McuTemp.Min);
            Assert.AreEqual(original.Electronics.McuTemp.Max, clone.Electronics.McuTemp.Max);

            Assert.AreEqual(1, clone.Electronics.ExpansionBoards.Count);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Name, clone.Electronics.ExpansionBoards[0].Name);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Revision, clone.Electronics.ExpansionBoards[0].Revision);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Firmware.Name, clone.Electronics.ExpansionBoards[0].Firmware.Name);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Firmware.Date, clone.Electronics.ExpansionBoards[0].Firmware.Date);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Firmware.Version, clone.Electronics.ExpansionBoards[0].Firmware.Version);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].VIn.Current, clone.Electronics.ExpansionBoards[0].VIn.Current);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].VIn.Min, clone.Electronics.ExpansionBoards[0].VIn.Min);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].VIn.Max, clone.Electronics.ExpansionBoards[0].VIn.Max);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].McuTemp.Current, clone.Electronics.ExpansionBoards[0].McuTemp.Current);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].McuTemp.Min, clone.Electronics.ExpansionBoards[0].McuTemp.Min);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].McuTemp.Max, clone.Electronics.ExpansionBoards[0].McuTemp.Max);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].MaxHeaters, clone.Electronics.ExpansionBoards[0].MaxHeaters);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].MaxMotors, clone.Electronics.ExpansionBoards[0].MaxMotors);

            Assert.AreNotSame(original.Electronics.Type, clone.Electronics.Type);
            Assert.AreNotSame(original.Electronics.Name, clone.Electronics.Name);
            Assert.AreNotSame(original.Electronics.Revision, clone.Electronics.Revision);
            Assert.AreNotSame(original.Electronics.Firmware.Name, clone.Electronics.Firmware.Name);
            Assert.AreNotSame(original.Electronics.Firmware.Version, clone.Electronics.Firmware.Version);
            Assert.AreNotSame(original.Electronics.Firmware.Date, clone.Electronics.Firmware.Date);
            Assert.AreNotSame(original.Electronics.ProcessorID, clone.Electronics.ProcessorID);
            Assert.AreNotSame(original.Electronics.VIn.Current, clone.Electronics.VIn.Current);
            Assert.AreNotSame(original.Electronics.VIn.Min, clone.Electronics.VIn.Min);
            Assert.AreNotSame(original.Electronics.VIn.Max, clone.Electronics.VIn.Max);
            Assert.AreNotSame(original.Electronics.McuTemp.Current, clone.Electronics.McuTemp.Current);
            Assert.AreNotSame(original.Electronics.McuTemp.Min, clone.Electronics.McuTemp.Min);
            Assert.AreNotSame(original.Electronics.McuTemp.Max, clone.Electronics.McuTemp.Max);

            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].Name, clone.Electronics.ExpansionBoards[0].Name);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].Revision, clone.Electronics.ExpansionBoards[0].Revision);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].Firmware.Name, clone.Electronics.ExpansionBoards[0].Firmware.Name);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].Firmware.Date, clone.Electronics.ExpansionBoards[0].Firmware.Date);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].Firmware.Version, clone.Electronics.ExpansionBoards[0].Firmware.Version);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].VIn.Current, clone.Electronics.ExpansionBoards[0].VIn.Current);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].VIn.Min, clone.Electronics.ExpansionBoards[0].VIn.Min);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].VIn.Max, clone.Electronics.ExpansionBoards[0].VIn.Max);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].McuTemp.Current, clone.Electronics.ExpansionBoards[0].McuTemp.Current);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].McuTemp.Min, clone.Electronics.ExpansionBoards[0].McuTemp.Min);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].McuTemp.Max, clone.Electronics.ExpansionBoards[0].McuTemp.Max);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].MaxHeaters, clone.Electronics.ExpansionBoards[0].MaxHeaters);
            Assert.AreNotSame(original.Electronics.ExpansionBoards[0].MaxMotors, clone.Electronics.ExpansionBoards[0].MaxMotors);
        }
Esempio n. 2
0
        public void Assign()
        {
            MachineModel original = new MachineModel();

            original.Electronics.Type             = "Electronics Type";
            original.Electronics.Name             = "Electronics Name";
            original.Electronics.Revision         = "Electronics Revision";
            original.Electronics.Firmware.Name    = "Firmware Name";
            original.Electronics.Firmware.Version = "Firmware Version";
            original.Electronics.Firmware.Date    = "Firmware Date";
            original.Electronics.ProcessorID      = "Processor ID";
            original.Electronics.VIn.Current      = 321F;
            original.Electronics.VIn.Min          = 654F;
            original.Electronics.VIn.Max          = 987F;
            original.Electronics.McuTemp.Current  = 123F;
            original.Electronics.McuTemp.Min      = 456F;
            original.Electronics.McuTemp.Max      = 789F;

            ExpansionBoard expansionBoard = new ExpansionBoard
            {
                Name       = "Expansion Name",
                Revision   = "Expansion Revision",
                MaxHeaters = 12,
                MaxMotors  = 6
            };

            expansionBoard.Firmware.Name    = "Expansion Firmware Name";
            expansionBoard.Firmware.Date    = "Expansion Firmware Date";
            expansionBoard.Firmware.Version = "Expansion Firmware Version";
            expansionBoard.VIn.Current      = 321F;
            expansionBoard.VIn.Min          = 654F;
            expansionBoard.VIn.Max          = 987F;
            expansionBoard.McuTemp.Current  = 123F;
            expansionBoard.McuTemp.Min      = 456F;
            expansionBoard.McuTemp.Max      = 789F;
            expansionBoard.MaxHeaters       = 12;
            expansionBoard.MaxMotors        = 6;
            original.Electronics.ExpansionBoards.Add(expansionBoard);

            MachineModel assigned = new MachineModel();

            assigned.Assign(original);

            Assert.AreEqual(original.Electronics.Type, assigned.Electronics.Type);
            Assert.AreEqual(original.Electronics.Name, assigned.Electronics.Name);
            Assert.AreEqual(original.Electronics.Revision, assigned.Electronics.Revision);
            Assert.AreEqual(original.Electronics.Firmware.Name, assigned.Electronics.Firmware.Name);
            Assert.AreEqual(original.Electronics.Firmware.Version, assigned.Electronics.Firmware.Version);
            Assert.AreEqual(original.Electronics.Firmware.Date, assigned.Electronics.Firmware.Date);
            Assert.AreEqual(original.Electronics.ProcessorID, assigned.Electronics.ProcessorID);
            Assert.AreEqual(original.Electronics.VIn.Current, assigned.Electronics.VIn.Current);
            Assert.AreEqual(original.Electronics.VIn.Min, assigned.Electronics.VIn.Min);
            Assert.AreEqual(original.Electronics.VIn.Max, assigned.Electronics.VIn.Max);
            Assert.AreEqual(original.Electronics.McuTemp.Current, assigned.Electronics.McuTemp.Current);
            Assert.AreEqual(original.Electronics.McuTemp.Min, assigned.Electronics.McuTemp.Min);
            Assert.AreEqual(original.Electronics.McuTemp.Max, assigned.Electronics.McuTemp.Max);

            Assert.AreEqual(1, assigned.Electronics.ExpansionBoards.Count);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Name, assigned.Electronics.ExpansionBoards[0].Name);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Revision, assigned.Electronics.ExpansionBoards[0].Revision);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Firmware.Name, assigned.Electronics.ExpansionBoards[0].Firmware.Name);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Firmware.Date, assigned.Electronics.ExpansionBoards[0].Firmware.Date);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].Firmware.Version, assigned.Electronics.ExpansionBoards[0].Firmware.Version);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].VIn.Current, assigned.Electronics.ExpansionBoards[0].VIn.Current);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].VIn.Min, assigned.Electronics.ExpansionBoards[0].VIn.Min);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].VIn.Max, assigned.Electronics.ExpansionBoards[0].VIn.Max);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].McuTemp.Current, assigned.Electronics.ExpansionBoards[0].McuTemp.Current);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].McuTemp.Min, assigned.Electronics.ExpansionBoards[0].McuTemp.Min);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].McuTemp.Max, assigned.Electronics.ExpansionBoards[0].McuTemp.Max);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].MaxHeaters, assigned.Electronics.ExpansionBoards[0].MaxHeaters);
            Assert.AreEqual(original.Electronics.ExpansionBoards[0].MaxMotors, assigned.Electronics.ExpansionBoards[0].MaxMotors);

            // .NET Core supports string deduplication. This means AreNotSame assertions are (usually) meaningless:
            original.Electronics.Name = "Something else";
            Assert.AreNotSame(original.Electronics.Name, assigned.Electronics.Name);
        }