怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  819 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读

对象序列化以及单元测试

F:\song\netframework_serialize\netframework_serialize\Program.cs

using netframework_serialize.Animal;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Threading.Tasks;
namespace netframework_serialize
{
internal class Program
{
static void Main(string[] args)
{
var myObject = new Person(1,"Alice");
var formatter = new BinaryFormatter();
using (var stream = new FileStream("myobject.bin", FileMode.Create, FileAccess.Write))
{
formatter.Serialize(stream, myObject);
}
using (var stream = new FileStream("myobject.bin", FileMode.Open, FileAccess.Read))
{
var deserializedObject = (Person)formatter.Deserialize(stream);
Console.WriteLine($"Id: {deserializedObject.Id}, Name: {deserializedObject.getName()}");
}
}
}
}

F:\song\netframework_serialize\netframework_serialize\Animal\Person.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace netframework_serialize.Animal
{
[Serializable]
public class Person
{
public int Id { get; set; }
private string Name { get; set; }
public Person(int id, string name)
{
this.Id = id;
this.Name = name;
}
public string getName()
{
return this.Name;
}
}
}

F:\song\netframework_serialize\PersonTests\UnitTest1.cs

using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using netframework_serialize.Animal;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace PersonTests
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var formatter = new BinaryFormatter();
using (var stream = new FileStream("myobject.bin", FileMode.Open, FileAccess.Read))
{
var deserializedObject = (Person)formatter.Deserialize(stream);
var per2 = new Person(deserializedObject.Id,deserializedObject.getName());
Assert.AreEqual(per2.getName(), "Alice");
Assert.AreEqual(per2.Id, 1);
}
}
}
}
posted on   超级无敌美少男战士  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2023-01-15 flask_socketio_cors
2023-01-15 axios_socketio_cros_test
点击右上角即可分享
微信分享提示