public void DeserializeNestedObjectTest() { string strSerialized = "O:8:\"stdClass\":1:{s:8:\"rsz_info\";O:8:\"stdClass\":4:{s:12:\"content_type\";s:3:\"rsz\";s:12:\"project_type\";s:5:\"rapid\";s:20:\"need_story_rendering\";b:0;s:20:\"recorded_story_count\";i:3;}}"; Serializer srlzr = new Serializer(); object deserialized = srlzr.Deserialize(strSerialized); Hashtable objDeserialized = deserialized as Hashtable; Assert.NotNull(objDeserialized); Hashtable rszInfo = objDeserialized["rsz_info"] as Hashtable; Assert.NotNull(rszInfo); Assert.AreEqual("rsz", rszInfo["content_type"]); Assert.AreEqual("rapid", rszInfo["project_type"]); Assert.AreEqual(false, rszInfo["need_story_rendering"]); Assert.AreEqual(3, rszInfo["recorded_story_count"]); strSerialized = "O:8:\"stdClass\":2:{s:8:\"rsz_info\";O:8:\"stdClass\":4:{s:12:\"content_type\";s:3:\"rsz\";s:12:\"project_type\";s:4:\"rich\";s:20:\"need_story_rendering\";b:1;s:20:\"recorded_story_count\";i:1;}s:10:\"data_media\";s:5:\"false\";}"; deserialized = srlzr.Deserialize(strSerialized); objDeserialized = deserialized as Hashtable; Assert.NotNull(objDeserialized); Assert.AreEqual("false", objDeserialized["data_media"]); rszInfo = objDeserialized["rsz_info"] as Hashtable; Assert.NotNull(rszInfo); Assert.AreEqual("rsz", rszInfo["content_type"]); Assert.AreEqual("rich", rszInfo["project_type"]); Assert.AreEqual(true, rszInfo["need_story_rendering"]); Assert.AreEqual(1, rszInfo["recorded_story_count"]); }
public void DeserializeSimpleObjectTest() { string strSerialized = "O:8:\"stdClass\":1:{s:10:\"data_media\";s:5:\"false\";}"; Serializer srlzr = new Serializer(); object deserialized = srlzr.Deserialize(strSerialized); Hashtable objDeserialized = deserialized as Hashtable; Assert.NotNull(objDeserialized); Assert.AreEqual("false", objDeserialized["data_media"]); }
public void DeserializeAssocArrayTest() { string strSerialized = "a:2:{s:7:\"content\";s:549:\"이케아 매장 주변에는 태양 전지판과 풍력 발전용 " + "터빈이 퍼져있습니다; 매장 안에는 전시 선반 LED 전구들과 재활용된 면으로 가득합니다. 왜 그럴까요? " + "이케아의 최고위 지속 가능 경영 책임자인 스티브 하워드는 "환경 유지는 하면 좋은 것에서 꼭 " + "해야 되는 것으로 바뀌었다" 라고 합니다. 이 강연에서 하워드는 친환경적인 경영을 해야하는 " + "임무에 대해서 얘기하고 다른 경영자들에게도 도전을 권합니다.\";s:9:\"embed_tag\";s:228:\"" + "<iframe src=\"https://embed-ssl.ted.com/talks/steve_howard_let_s_go_all_in_on_selling_sustainability.html\" " + "width=\"502\" height=\"336\" frameborder=\"0\" scrolling=\"no\" webkitAllowFullScreen " + "mozallowfullscreen allowFullScreen></iframe>\";}"; Serializer srlzr = new Serializer(); object deserialized = srlzr.Deserialize(strSerialized); Hashtable assocDeserialized = deserialized as Hashtable; Assert.NotNull(assocDeserialized); string expectedContent = "이케아 매장 주변에는 태양 전지판과 풍력 발전용 터빈이 퍼져있습니다; 매장 안에는 전시 선반 LED 전구들과 재활용된 면으로 가득합니다. 왜 그럴까요? 이케아의 최고위 지속 가능 경영 책임자인 스티브 하워드는 "환경 유지는 하면 좋은 것에서 꼭 해야 되는 것으로 바뀌었다" 라고 합니다. 이 강연에서 하워드는 친환경적인 경영을 해야하는 임무에 대해서 얘기하고 다른 경영자들에게도 도전을 권합니다."; Assert.AreEqual(expectedContent, assocDeserialized["content"]); string expectedEmbedTag = "<iframe src=\"https://embed-ssl.ted.com/talks/steve_howard_let_s_go_all_in_on_selling_sustainability.html\" width=\"502\" height=\"336\" frameborder=\"0\" scrolling=\"no\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>"; Assert.AreEqual(expectedEmbedTag, assocDeserialized["embed_tag"]); }