public static void GenericPersonsAsset() { //初始化holder的事例 PersonHolder holder = ScriptableObject.CreateInstance <PersonHolder>(); Person p1 = new Person(); p1.name = "yupu1"; p1.age = 1; p1.id = 1; Person p2 = new Person(); p2.name = "yupu2"; p2.age = 2; p2.id = 2; //添加holder的数据 holder.persons.Add(p1); holder.persons.Add(p2); //序列化holder为asset文件 string path = "Assets/PersonConfig.asset"; AssetDatabase.CreateAsset(holder, path); Debug.Log("Asset Create Success!"); }
// Use this for initialization void Start() { PersonHolder ph = Resources.Load <PersonHolder>("PersonConfig"); List <Person> persons = ph.persons; Debug.Log(persons[0].name); }
public void AttendTest01() { //Arrange //データの準備 var testPersons = PrepareData01(); var personHolder = new PersonHolder(testPersons); //期待値 var expected = new List <Person> { testPerson01, testPerson05, testPerson02, testPerson06 }; //参加メンバーのIDをリストにセット var idList = new List <string> { "test01", "test05" }; //Act //実行 personHolder.Attend(idList); //Assert Assert.Empty(expected.Except(personHolder.GetAttended())); Assert.Empty(personHolder.GetAttended().Except(expected)); }
private static void SerializeDeserializeBinary() { object person = GetSimpleTypeInstance(); IPerson structure = new Person2() { Age = 25, Surprise = Days.Monday }; person = new PersonHolder() { A = structure, B = structure, C = structure }; structure.IncreaseAge(); //var stateMemberProvider = new BinaryStateMemberProvider(_stateMemberProvider); var stateMemberProvider = new BinaryStateMemberProvider(new PropertyStateMemberProvider()); //var writeClimber = new SlowGraphClimber<BinaryWriterProcessor>(stateMemberProvider); //var readClimber = new SlowGraphClimber<BinaryReaderProcessor>(stateMemberProvider); var stream = new MemoryStream(); var binaryWriterProcessor = new BinaryWriterProcessor(new LoggingWriter(new CompressingWriter(new BinaryWriterAdapter(new BinaryWriter(stream))), Console.Out)); var writerGraphClimber = DefaultGraphClimber <BinaryWriterProcessor> .Create(stateMemberProvider); //ClimbDelegate<StrongBox<object>> climb2 = // store2.GetClimb<StrongBox<object>>(typeof(StrongBox<object>)); //climb2(binaryWriterProcessor, // new StrongBox<object>(person)); writerGraphClimber.Climb(new StrongBox <object>(person), binaryWriterProcessor); //writeClimber.Route(person, binaryWriterProcessor, false); stream.Position = 0; var binaryReaderProcessor = new BinaryReaderProcessor(new LoggingReader(new DecompressingReader(new BinaryReaderAdapter(new BinaryReader(stream))), Console.Out)); var readerGraphClimber = DefaultGraphClimber <BinaryReaderProcessor> .Create(stateMemberProvider); var strongBox = new StrongBox <object>(); readerGraphClimber.Climb(strongBox, binaryReaderProcessor); //ClimbStore store = new ClimbStore(binaryReaderProcessor.GetType(), // new BinaryStateMemberProvider(new PropertyStateMemberProvider()), // new MethodMapper(), // new TrivialExpressionCompiler()); //ClimbDelegate<StrongBox<object>> climb = store.GetClimb<StrongBox<object>>(typeof (StrongBox<object>)); //climb(binaryReaderProcessor, strongBox); }
public void GetAttendedPersonsTest02() { //Arrange //データの準備 var emptyPersons = new List <Person>(); var personHolder = new PersonHolder(emptyPersons); //Act //実行 var actual = personHolder.GetAttended(); //Assert Assert.Empty(actual); }
public void GetAttendedPersonsTest01() { //Arrange //データの準備 var personHolder = new PersonHolder(PrepareData01()); //期待値 var expected = new List <Person> { testPerson02, testPerson06 }; //Act //実行 var actual = personHolder.GetAttended(); //Assert Assert.Empty(expected.Except(actual)); Assert.Empty(actual.Except(expected)); }
public void Cancelest01() { //Arrange //データの準備 var personHolder = new PersonHolder(PrepareData01()); //期待値 var expected = new List <Person> { testPerson02, }; //参加を取り消すメンバーのIDをリストにセット var idList = new List <string> { "test06" }; //Act //実行 personHolder.Cancel(idList); //Assert Assert.Empty(expected.Except(personHolder.GetAttended())); Assert.Empty(personHolder.GetAttended().Except(expected)); }