Example #1
0
        public void AddMilliseconds_Arround3Days_AreEqual()
        {
            var act = TestStruct.AddMilliseconds(3 * 24 * 60 * 60 * 1003);
            var exp = new Date(1970, 02, 17);

            Assert.AreEqual(exp, act);
        }
Example #2
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        public Comment(XmlNode node)
        {
            OriginalXml = node.OuterXml;

            XmlAttribute attr = node.Attributes["thread"];

            Thread = IntTryParse(attr, -1);

            // noは無いことがあります。
            attr = node.Attributes["no"];
            No   = IntTryParse(attr, -1);

            attr = node.Attributes["vpos"];
            VPos = IntTryParse(attr, -1);

            attr = node.Attributes["date"];
            Date = (
                attr == null ?
                DateTime.MinValue :
                Utility.TimeUtil.UnixTimeToDateTime(attr.Value));

            attr = node.Attributes["date_usec"];
            if (attr != null)
            {
                var value = IntTryParse(attr, 0);
                Date             = Date.AddMilliseconds(value / 1000);
                DateMicroSeconds = value % 1000;
            }

            attr   = node.Attributes["user_id"];
            UserId = attr.Value;

            attr = node.Attributes["mail"];
            Mail = (attr == null ? string.Empty : attr.Value);

            // 自分で投稿したコメントなら'1'、そうでないなら'0'か
            // もしくは属性自体が存在しない。
            attr       = node.Attributes["yourpost"];
            IsYourpost = (IntTryParse(attr, 0) > 0);

            attr        = node.Attributes["premium"];
            CommentType = ParseCommentType(attr);

            attr    = node.Attributes["score"];
            NGScore = IntTryParse(attr, 0);

            attr   = node.Attributes["origin"];
            Origin = (attr == null ? string.Empty : attr.Value);

            // 意味あるのか?
            Text = node.InnerText ?? "";
        }