public void TestMethod1() { CS_Rsvwrd rsvwrd = new CS_Rsvwrd(); #region 予約語1:クラス確認 rsvwrd.Clear(); rsvwrd.Wbuf = "class"; rsvwrd.Exec(); Assert.IsTrue(rsvwrd.Rsv); Assert.IsTrue(rsvwrd.Is_class); Assert.IsFalse(rsvwrd.Is_namespace); Assert.AreEqual(1, rsvwrd.RsvKind, "RsKind[RSV_CLASS]"); rsvwrd.Wbuf = "struct"; rsvwrd.Exec(); Assert.IsTrue(rsvwrd.Rsv); Assert.IsTrue(rsvwrd.Is_class); Assert.IsFalse(rsvwrd.Is_namespace); Assert.AreEqual(1, rsvwrd.RsvKind, "RsKind[RSV_CLASS]"); #endregion #region 予約語2:例外確認 rsvwrd.Clear(); rsvwrd.Exec("try"); Assert.IsTrue(rsvwrd.Rsv); Assert.AreEqual(2, rsvwrd.RsvKind, "RsKind[RSV_EXCEPT]"); #endregion #region 予約語3:アクセス修飾子確認 rsvwrd.Clear(); rsvwrd.Exec("public"); Assert.IsTrue(rsvwrd.Rsv); Assert.AreEqual(3, rsvwrd.RsvKind, "RsKind[RSV_ACCESS]"); #endregion #region 予約語4:制御フロー文確認 rsvwrd.Clear(); rsvwrd.Exec("if"); Assert.IsTrue(rsvwrd.Rsv); Assert.AreEqual(4, rsvwrd.RsvKind, "RsKind[RSV_CONTROL]"); #endregion #region 予約語5:データ型確認 rsvwrd.Clear(); rsvwrd.Exec("int"); Assert.IsTrue(rsvwrd.Rsv); Assert.AreEqual(5, rsvwrd.RsvKind, "RsKind[RSV_DATA]"); #endregion #region 予約語6:その他確認 rsvwrd.Clear(); rsvwrd.Exec("namespace"); Assert.IsTrue(rsvwrd.Rsv); Assert.IsTrue(rsvwrd.Is_namespace); Assert.IsFalse(rsvwrd.Is_class); Assert.AreEqual(6, rsvwrd.RsvKind, "RsKind[RSV_OTHER]"); rsvwrd.Exec("void"); Assert.IsTrue(rsvwrd.Rsv); Assert.IsTrue(rsvwrd.Is_namespace); Assert.IsFalse(rsvwrd.Is_class); Assert.AreEqual(6, rsvwrd.RsvKind, "RsKind[RSV_OTHER]"); #endregion #region 非予約語確認 rsvwrd.Clear(); rsvwrd.Exec("function"); Assert.IsFalse(rsvwrd.Rsv); Assert.AreEqual(0, rsvwrd.RsvKind, "RsKind[RSV_NONE]"); #endregion }
public CS_ChkNamespace() { // コンストラクタ _wbuf = null; // 設定情報無し _empty = true; // _rsvcode = RSV_NONE; // 予約語:未定義 _Is_namespace = false; // [namespace]フラグ:false rsvwrd = new CS_Rsvwrd(); // 予約語を確認する }