Exemplo n.º 1
0
        public void Interpret(Data data, SQLiteConnection conn)
        {
            if (data.Type == ECollectorType.SMART)
            {
                ListData <HardDisk> disks = data as ListData <HardDisk>;
                if (disks == null)
                {
                    return;
                }

                long device_id = GetDeviceID(data, conn);
                if (device_id >= 0)
                {
                    List <string> drive_letter_list = HardDisk.FailingDrives(disks.Data);
                    SmartStatus   smart_status      = new SmartStatus();
                    EStatusType   status            = smart_status.GetStatus(drive_letter_list);

                    SetDeviceStatus(device_id, status, SmartStatus.Types, drive_letter_list.JoinStrings(", "), conn);
                }
            }
        }
Exemplo n.º 2
0
        void ProperlyShowFailedDrives()
        {
            HardDisk hd = new HardDisk()
            {
                DeviceID           = "ABC123",
                FailureIsPredicted = true
            };

            hd.DriveLetters.Add("E:");
            hd.DriveLetters.Add("C:");

            Assert.Equal("ABC123", hd.DeviceID);
            Assert.True(hd.FailureIsPredicted.Value);
            Assert.Equal(2, hd.DriveLetters.Count);
            Assert.Equal("C:, E:", hd.DriveLettersAsString);

            HardDisk hd2 = new HardDisk()
            {
                DeviceID           = "XYZ789",
                FailureIsPredicted = false
            };

            hd2.DriveLetters.Add("F:");
            hd2.DriveLetters.Add("H:");

            HardDisk hd3 = new HardDisk()
            {
                DeviceID           = "EEE777",
                FailureIsPredicted = true
            };

            hd3.DriveLetters.Add("J:");
            hd3.DriveLetters.Add("I:");

            List <HardDisk> drives  = new List <HardDisk>(new HardDisk[] { hd, hd2, hd3 });
            List <string>   failing = HardDisk.FailingDrives(drives);
            string          joined  = failing.JoinStrings(", ");

            Assert.Equal("C:, E:, I:, J:", joined);
        }