示例#1
0
        public void Test_IO()
        {
            using (FileStream stream = new("TestData/testProject.pmm", FileMode.Open))
                using (BinaryReader reader = new(stream, MikuMikuMethods.Encoding.ShiftJIS))
                    using (FileStream outStream = new("TestData/output.pmm", FileMode.Create))
                        using (BinaryWriter writer = new(outStream, MikuMikuMethods.Encoding.ShiftJIS))
                        {
                            testPmm.Read(reader);
                            testPmm.Write(writer);

                            // 比較のため巻き戻し
                            reader.BaseStream.Position = 0;
                            writer.BaseStream.Position = 0;

                            using (BinaryReader outReader = new(outStream, MikuMikuMethods.Encoding.ShiftJIS))
                            {
                                var outPmm = new PolygonMovieMaker(outReader);

                                //もとのPMMと書込読込PMMのインスタンスをシリアライズして
                                //テキストで差分を見れるようにする
                                using (FileStream inJson = new("TestData/originPmm.json", FileMode.Create))
                                    using (FileStream outJson = new("TestData/outputPmm.json", FileMode.Create))
                                    {
                                        DataContractJsonSerializer serializer = new(typeof(PolygonMovieMaker));
                                        serializer.WriteObject(inJson, testPmm);
                                        serializer.WriteObject(outJson, outPmm);

                                        Assert.AreEqual(inJson.Length, outJson.Length);
                                        using (StreamReader inJsonReader = new(inJson))
                                            using (StreamReader outJsonReader = new(outJson))
                                            {
                                                Assert.AreEqual(inJsonReader.ReadToEnd(), outJsonReader.ReadToEnd());
                                            }
                                    }
                            }
                        }
        }
示例#2
0
 public UnitTestPMM()
 {
     testPmm = new();
 }