`
seagle0128
  • 浏览: 44722 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

DotNet中获取系统信息(二)

    博客分类:
  • .NET
阅读更多
    首次使用TDD,还有很多不大清楚,敬请高人指教!
    单元测试代码如下:
using System;
using System.Net;
using NUnit.Framework;

namespace SystemInfomation
{
    
/**//// <summary>
    
/// Summary description for GetInfoFixture.
    
/// </summary>
    [TestFixture]
    
public class SystemInfomationFixture
    
{
        
private const string OS_VERION = "Microsoft Windows NT 5.2.3790.0";
        
private const string MACHINE_NAME = "VC";
        
private const string USER_NAME = "Vincent";
        
private const string BOOT_MODE = "Normal";
        
private const string LOGICAL_DRIVERS = @"A:\;C:\;D:\;E:\;F:\;G:\;H:\;I:\;J:\;K:\;L:\;M:\;O:\;";
        
private const string IP_ADDR = "192.168.0.10 192.168.35.1 192.168.188.1 ";
        
private const string DOMAIN_NAME = "VC";
        
private const string SYSTEM_DIR = @"C:\Windows\System32";
        
private const string TEMP_DIR = @"C:\DOCUME~1\VINCENT\LOCALS~1\TEMP";
        
private const string FX_VVERSION = "1.1.4322.573";
        
private const string PROCESSOR_NAME = "AMD Athlon(tm) XP 1600+";
        
private const string PROCESSOR_IDENTIFIER = "x86 Family 6 Model 6 Stepping 2";
        
private const string PROCESSOR_FREQUENCY = "1405 MHz";
        
private const string BIOS_IDENTIFIER = "AT/AT COMPATIBLE";
        
private const string SYSTEM_BISO_VERSION = "AMIINT - 10";
        
private const string VIDEO_BISO_VERSION = "Version 3.11.01.24.00 ";
        
private const string VIDEO_BISO_DATE = "10/31/01";
        
private const string NETWORK_CARDS = "Realtek RTL8139 Family PCI Fast Ethernet NIC";

        
private SystemInfomation info;

        
public SystemInfomationFixture()
        
{
            
//
            
// TODO: Add constructor logic here
            
//
        }


        [SetUp]
        
public void Init()
        
{
            info 
= new SystemInfomation();
        }


        [Test]
        
public void testGetOSVersion()
        
{
            Console.Out.WriteLine(info.GetOSVersion());
            Assert.AreEqual(OS_VERION, info.GetOSVersion());
        }


        [Test]
        
public void testGetMachineName()
        
{
            Console.Out.WriteLine(info.GetMachineName());
            Assert.AreEqual(MACHINE_NAME, info.GetMachineName());
        }


        [Test]
        
public void testGetBootMode()
        
{
            Console.Out.WriteLine(info.GetBootMode());
            Assert.AreEqual(BOOT_MODE, info.GetBootMode());
        }


        [Test]
        
public void testGetUserName()
        
{
            Console.Out.WriteLine(info.GetUserName());
            Assert.AreEqual(USER_NAME, info.GetUserName());
        }


        [Test]
        
public void testGetLogicalDrives()
        
{
            
string drivers = "";
            
foreach (string drive in info.GetLogicalDrives())
            
{
                drivers 
+= drive + ";";
            }

            Console.WriteLine(drivers);
            Assert.AreEqual(LOGICAL_DRIVERS, drivers);
        }


        [Test]
        
public void testGetIPAddr()
        
{
            
string ip = "";
            IPAddress[] ipAddress
= info.GetIPAddr();
            
foreach (IPAddress address in ipAddress)
            
{
                Console.Out.WriteLine(address.ToString());
                ip 
+= address.ToString() + " ";
            }

            Assert.AreEqual(IP_ADDR, ip);
        }


        [Test]
        
public void testGetDomainName()
        
{
            Console.Out.WriteLine(info.GetDomainName());
            Assert.AreEqual(DOMAIN_NAME, info.GetDomainName());
        }


        [Test]
        
public void testGetUsedMemory()
        
{
            Console.Out.WriteLine(info.GetUsedMemory());
            Assert.IsNotNull(info.GetUsedMemory());
        }


        [Test]
        
public void testGetSystemDirectory()
        
{
            Console.Out.WriteLine(info.GetSystemDirectory());
            Assert.AreEqual(SYSTEM_DIR.ToUpper(), info.GetSystemDirectory().ToUpper());
        }


        [Test]
        
public void testGetTempDirectory()
        
{
            Console.Out.WriteLine(info.GetTempDirectory());
            Assert.AreEqual(TEMP_DIR.ToUpper(), info.GetTempDirectory().ToUpper());
        }


        [Test]
        
public void testGetFxVersion()
        
{
            Console.Out.WriteLine(info.GetFxVersion());
            Assert.AreEqual(FX_VVERSION, info.GetFxVersion());
        }


        [Test]
        
public void testGetOSRunnedTime()
        
{
            RunnedTime runnedTime 
= info.GetOSRunnedTime();
            
string time = runnedTime.hour + " hour " + 
                runnedTime.minute 
+ " minute " + runnedTime.second + " second";
            Console.WriteLine(time);            
            Assert.IsNotNull(time);
        }


        [Test]
        
public void testGetProcessorName()
        
{
            Console.WriteLine(info.GetProcessorName()[
0]);
            Assert.AreEqual(PROCESSOR_NAME, info.GetProcessorName()[
0]);
        }


        [Test]
        
public void testGetProcessorIdentifier()
        
{
            Console.WriteLine(info.GetProcessorIdentifier()[
0]);
            Assert.AreEqual(PROCESSOR_IDENTIFIER, info.GetProcessorIdentifier()[
0]);
        }


        [Test]
        
public void testGetProcessorFrequency()
        
{
            Console.WriteLine(info.GetProcessorFrequency()[
0]);
            Assert.AreEqual(PROCESSOR_FREQUENCY, info.GetProcessorFrequency()[
0]);
        }


        [Test]
        
public void testGetBiosIdentifier()
        
{
            Console.Out.WriteLine(info.GetBiosIdentifier());
            Assert.AreEqual(BIOS_IDENTIFIER, info.GetBiosIdentifier());
     &#
分享到:
评论

相关推荐

    dotnet 获取指定进程的输入命令行

    在.NET框架中,获取指定进程的输入命令行参数是一个常见的需求,这有助于开发者了解程序是如何启动的,或者在调试和监控系统时收集相关信息。本文将详细介绍如何在dotnet环境中实现这一功能,主要涉及Windows操作...

    dotnet C# 代码获取系统日志.rar

    本文档“dotnet C# 代码获取系统日志”将着重讲解如何利用C#编程来访问和处理操作系统日志。系统日志记录了系统运行时的事件,这对于调试、故障排查和维护系统健康状态至关重要。 C#提供了System.Diagnostics命名...

    dotnet-hosting、dotnet-sdk

    描述中提到的“dotnet-sdk-2.2.207-win-x64.exe”是针对Windows 64位系统的.NET Core 2.2 SDK版本,开发者可以下载并安装此文件来获取完整的开发环境。 在IIS中部署ASP.NET Core应用的步骤通常包括以下几点: 1. ...

    dotnet C# 获取当前设备可移动磁盘.rar

    本资源包“dotnet C# 获取当前设备可移动磁盘.rar”显然是一个关于如何在C#中获取系统中可移动磁盘(如USB驱动器)信息的教程或案例研究。下面我们将深入探讨这个主题。 首先,让我们了解C#如何与硬件设备交互。...

    dotnet手册.pdf

    - **dotnet trace**:收集应用程序的跟踪信息。 #### 应用程序部署 - **使用 CLI 发布应用**:通过 CLI 构建和打包应用程序。 - **使用 Visual Studio 部署应用**:利用 Visual Studio 的内置功能进行部署。 - **...

    购物系统_dotnet电子商务系统源代码.rar

    在这个系统中,.NET框架可能是使用C#或VB.NET等编程语言实现的,提供了服务器端的业务逻辑处理、数据访问以及用户界面呈现等功能。 【描述】中的“购物系统_dotnet电子商务系统源代码”进一步确认了这是一个与电子...

    dotnet win32 使用 WIC 获取系统编解码器.rar

    2. **获取系统编解码器**:WIC允许开发者获取系统中注册的所有编解码器信息。通过调用` IWICImagingFactory::CreateComponentEnumerator `方法,你可以得到一个枚举器,然后遍历所有可用的编解码器,查看其支持的...

    dotnet-jieba中文分词NETCore版

    本文将深入探讨dotnet-jieba的核心特性、工作原理以及如何在实际项目中应用。 jieba分词器源自于Java社区,以其高效的分词性能和丰富的扩展功能而受到广泛欢迎。dotnet-jieba则是这一优秀分词引擎的.NET Core移植版...

    网上商城购物系统_dotnet电子商务系统源代码.7z

    《网上商城购物系统 DotNet 电子商务系统源代码详解》 在当今互联网时代,电子商务系统已成为企业不可或缺的一部分。本文将深入探讨一款基于 DotNet 技术的网上商城购物系统,通过分析其源代码,揭示其中的核心技术...

    电子商务系统BizIdea_dotnet电子商务系统源代码.rar

    【标题】"电子商务系统BizIdea_dotnet电子商务系统源代码.rar"揭示了这是一个基于.NET技术的电子商务解决方案,其中包含了BizIdea的源代码。BizIdea是一款专为中小企业设计的电子商务平台,它允许企业构建在线商店,...

    商城系统_dotnet电子商务系统源代码.rar

    在这个电子商务系统中,我们可以预见到以下几个核心知识点: 1. **.NET Web应用程序开发**:基于ASP.NET技术,可能包括ASP.NET MVC(Model-View-Controller)或Web Forms架构,用于构建前端页面和业务逻辑。 2. **...

    商城系统开源版仿当当网版_dotnet电子商务系统源代码.rar

    《深度剖析:商城系统开源版仿当当网版_dotnet电子商务系统源代码》 在数字化时代,电子商务系统已经成为企业不可或缺的工具,而开源版本更是开发者和创业者们的热门选择。本篇将深入探讨“商城系统开源版仿当当网...

    服饰行业网上商店系统_dotnet电子商务系统源代码.rar

    【标题】中的“服饰行业网上商店系统_dotnet电子商务系统源代码”表明这是一个基于.NET技术开发的,用于服饰行业的电子商务平台。.NET是一个由微软推出的开放源代码框架,用于构建Web应用、桌面应用和服务。该系统...

    dotnet C# 获取一个可用的端口的方法.rar

    在.NET框架和C#编程中,获取一个可用的端口是常见的需求,特别是在开发网络...本资源包中的“dotnet C# 获取一个可用的端口的方法.md”文档,应当详细介绍了这些概念和实践技巧,是学习和开发过程中的一份宝贵资料。

    软件销售系统_dotnet电子商务系统源代码.rar

    在这个系统中,.NET可能是用于后端服务器逻辑的开发,提供数据处理、业务规则管理和用户接口与数据库之间的交互。 【描述】提到的“软件销售系统_dotnet电子商务系统源代码”暗示我们能够获取到这个系统的原始编程...

    dotnet 读 WPF 源代码笔记 插入触摸设备的初始化获取设备信息.rar

    2. 获取触摸设备信息:`TouchDevice.GetDevices()`方法返回当前系统中所有已连接的触摸设备的列表,可以通过遍历此列表来获取每个设备的详细信息。 3. 处理触摸事件:创建事件处理程序以响应前面提到的`Touch`事件,...

    dotNET_Reactor4.9

    3. **资源加密**: dotNET_Reactor4.9还支持对应用程序中的资源文件(如图片、文本等)进行加密,确保这些内容不被轻易访问或修改。 4. **调试防护**: 该工具能有效阻止调试器的附加,防止他人通过调试器来分析和...

    dotnet-Facebook的GraphQL在NET中一个实现

    GraphQL是一种由Facebook开发并开源的查询语言,它为API设计提供了一种高效、灵活的方法,使得客户端能够精确地请求所需的数据,避免了过度获取或不足获取的问题。在.NET开发环境中,GraphQL的实现主要依赖于一些第...

    中国店长网店系统_dotnet电子商务系统源代码.rar

    订单创建时,系统会根据购物车中的商品生成订单,包括商品信息、数量、总价等;订单状态跟踪则需要实时更新订单的支付、发货、签收等状态;支付处理往往需要集成第三方支付接口,如支付宝、微信支付等,确保交易的...

    dotnet 学习 CPF 框架笔记 了解 X11 里如何获取触摸信息.rar

    在本文中,我们将深入探讨 .NET(特别是 .NET Maui)框架下的CPF框架,以及如何在X11系统中获取触摸事件。首先,让我们先理解CPF框架的基础知识。 CPF(Component Platform Framework)是.NET Maui的一个扩展,它...

Global site tag (gtag.js) - Google Analytics