コード例 #1
0
    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!");
    }
コード例 #2
0
    // Use this for initialization
    void Start()
    {
        PersonHolder  ph      = Resources.Load <PersonHolder>("PersonConfig");
        List <Person> persons = ph.persons;

        Debug.Log(persons[0].name);
    }
コード例 #3
0
        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));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        public void GetAttendedPersonsTest02()
        {
            //Arrange
            //データの準備
            var emptyPersons = new List <Person>();
            var personHolder = new PersonHolder(emptyPersons);

            //Act
            //実行
            var actual = personHolder.GetAttended();

            //Assert
            Assert.Empty(actual);
        }
コード例 #6
0
        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));
        }
コード例 #7
0
        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));
        }