public WinOSInfo GetWinInfo(bool format = false)
        {
            var winOSInfo = new WinOSInfo();

            winOSInfo = WinOSInformation.GetInfoProcessor(winOSInfo);
            winOSInfo = WinOSInformation.GetInfoMemory(winOSInfo);
            winOSInfo = WinOSInformation.GetInfoDisk(winOSInfo);
            winOSInfo = WinOSInformation.GetInfoEthernet(winOSInfo);

            if (format)
            {
                var netFormat = winOSInfo.Networks
                                .Select(x =>
                {
                    x.Speed = Formatter.FormatSpeedNet(x.Speed); return(x);
                })
                                .ToList();

                winOSInfo.Networks = netFormat;
            }

            winOSInfo = WinOSInformation.GetInfoGPU(winOSInfo);
            winOSInfo = WinOSInformation.GetInfoOS(winOSInfo);
            winOSInfo = WinOSInformation.GetInfoProcesses(winOSInfo);
            winOSInfo = WinOSInformation.GetInfoServices(winOSInfo);

            return(winOSInfo);
        }
        public void GetInfoDisk_ReturnDataCorrectInfoDisks()
        {
            var winos  = new WinOSInfo();
            var result = WinOSInformation.GetInfoDisk(winos);

            var first = result.Disks.FirstOrDefault();

            var di = DriveInfo.GetDrives().Where(x => x.IsReady).ToList();

            Assert.NotNull(result.Disks);
            Assert.Equal(result.LogicalDisksCount, Directory.GetLogicalDrives().Length);
            Assert.Equal(di.Count, result.Disks.Count);
            Assert.NotNull(first.Name);
            Assert.True(first.TotalSize > 0);
            Assert.True(first.FreeSize > 0);
            Assert.NotNull(first.Format);
            Assert.NotNull(first.RootDirectory);
        }