コード例 #1
0
 public void TestParseEx()
 {
     for (int i = 0; i < 150; i++)
     {
         BindingFlags value = (BindingFlags)i;
         Assert.AreEqual(value, EnumExt.ParseEx <BindingFlags>(value.ToString()));
         Assert.AreEqual(value, EnumExt.ParseEx <BindingFlags>(value.GetDescription()));
     }
     Assert.AreEqual((TestEnum)0, EnumExt.ParseEx <TestEnum>("  0"));
     Assert.AreEqual(TestEnum.A, EnumExt.ParseEx <TestEnum>("A "));
     Assert.AreEqual(TestEnum.A, EnumExt.ParseEx <TestEnum>("-1 "));
     Assert.AreEqual(TestEnum.A, EnumExt.ParseEx <TestEnum>("A Des"));
     Assert.AreEqual(TestEnum.B, EnumExt.ParseEx <TestEnum>(" B "));
     Assert.AreEqual(TestEnum.B, EnumExt.ParseEx <TestEnum>(" -2 "));
     Assert.AreEqual(TestEnum.B, EnumExt.ParseEx <TestEnum>("B Des"));
     Assert.AreEqual(TestEnum.C, EnumExt.ParseEx <TestEnum>("C"));
     Assert.AreEqual(TestEnum.C, EnumExt.ParseEx <TestEnum>("-3"));
     Assert.AreEqual(TestEnum.C, EnumExt.ParseEx <TestEnum>("C Des"));
     Assert.AreEqual(TestEnum.D, EnumExt.ParseEx <TestEnum>("D"));
     Assert.AreEqual(TestEnum.D, EnumExt.ParseEx <TestEnum>("-4"));
     Assert.AreEqual(TestEnum.D, EnumExt.ParseEx <TestEnum>("D Des"));
     Assert.AreEqual(TestEnum.E, EnumExt.ParseEx <TestEnum>("-5"));
     Assert.AreEqual(TestEnum.E, EnumExt.ParseEx <TestEnum>("E"));
     Assert.AreEqual((TestEnum2)0, EnumExt.ParseEx <TestEnum2>("0"));
     Assert.AreEqual(TestEnum2.A, EnumExt.ParseEx <TestEnum2>("  A "));
     Assert.AreEqual(TestEnum2.A, EnumExt.ParseEx <TestEnum2>("  1 "));
     Assert.AreEqual(TestEnum2.A, EnumExt.ParseEx <TestEnum2>("A Des"));
     Assert.AreEqual(TestEnum2.B, EnumExt.ParseEx <TestEnum2>("B "));
     Assert.AreEqual(TestEnum2.B, EnumExt.ParseEx <TestEnum2>(" +2 "));
     Assert.AreEqual(TestEnum2.B, EnumExt.ParseEx <TestEnum2>("B Des"));
     Assert.AreEqual(TestEnum2.C, EnumExt.ParseEx <TestEnum2>("C "));
     Assert.AreEqual(TestEnum2.C, EnumExt.ParseEx <TestEnum2>("   +4   "));
     Assert.AreEqual(TestEnum2.C, EnumExt.ParseEx <TestEnum2>("C Des"));
     Assert.AreEqual(TestEnum2.D, EnumExt.ParseEx <TestEnum2>("D "));
     Assert.AreEqual(TestEnum2.D, EnumExt.ParseEx <TestEnum2>("0008"));
     Assert.AreEqual(TestEnum2.D, EnumExt.ParseEx <TestEnum2>("D"));
     Assert.AreEqual(TestEnum2.AB, EnumExt.ParseEx <TestEnum2>("AB Des"));
     Assert.AreEqual(TestEnum2.AB, EnumExt.ParseEx <TestEnum2>("A,B Des"));
     Assert.AreEqual(TestEnum2.AB, EnumExt.ParseEx <TestEnum2>("1,2"));
     Assert.AreEqual(TestEnum2.AB, EnumExt.ParseEx <TestEnum2>("3"));
     Assert.AreEqual(TestEnum2.AB, EnumExt.ParseEx <TestEnum2>("A Des    ,   B Des"));
     Assert.AreEqual(TestEnum2.BC, EnumExt.ParseEx <TestEnum2>("BC Des    "));
     Assert.AreEqual(TestEnum2.BC, EnumExt.ParseEx <TestEnum2>("2, 4, 2, 4,C Des    "));
     Assert.AreEqual(TestEnum2.BC, EnumExt.ParseEx <TestEnum2>("C Des    ,   B Des"));
     Assert.AreEqual(TestEnum2.A | TestEnum2.BC, EnumExt.ParseEx <TestEnum2>("C Des    ,   B Des, A Des"));
     Assert.AreEqual(TestEnum2.A | TestEnum2.BC, EnumExt.ParseEx <TestEnum2>("4    ,   B Des, A Des, 3"));
     Assert.AreEqual(TestEnum2.A | TestEnum2.BC, EnumExt.ParseEx <TestEnum2>("7"));
     Assert.AreEqual(TestEnum2.A | TestEnum2.BC, EnumExt.ParseEx <TestEnum2>("BC Des    ,   , A Des"));
     Assert.AreEqual(TestEnum2.A | TestEnum2.BC, EnumExt.ParseEx <TestEnum2>("AB Des    ,    C Des"));
     Assert.AreEqual(TestEnum2.D | TestEnum2.BC, EnumExt.ParseEx <TestEnum2>("BC Des    ,    D"));
     Assert.AreEqual(TestEnum2.All, EnumExt.ParseEx <TestEnum2>("BC Des,A Des,D"));
     Assert.AreEqual(TestEnum2.All, EnumExt.ParseEx <TestEnum2>("15"));
     Assert.AreEqual(TestEnum2.All, EnumExt.ParseEx <TestEnum2>("+1,+2,  , 4, 8, "));
     Assert.AreEqual(TestEnum2.All, EnumExt.ParseEx <TestEnum2>("All Des"));
     Assert.AreEqual(TestEnum2.All, EnumExt.ParseEx <TestEnum2>("BC Des,AB Des,D"));
     Assert.AreEqual(TestEnum2.All | (TestEnum2)128, EnumExt.ParseEx <TestEnum2>("BC Des,AB Des,D, 128"));
     Assert.AreEqual(TestEnum2.All | (TestEnum2)128, EnumExt.ParseEx <TestEnum2>("15, 128"));
     Assert.AreEqual(TestEnum2.All | (TestEnum2)128, EnumExt.ParseEx <TestEnum2>("143"));
     Assert.AreEqual(TestEnum2.All | (TestEnum2)128, EnumExt.ParseEx <TestEnum2>("BC Des,AB Des,D,+128"));
 }
コード例 #2
0
 public void TestGetDescription()
 {
     for (int i = 0; i < 129; i++)
     {
         BindingFlags value = (BindingFlags)i;
         Assert.AreEqual(value.ToString(), value.GetDescription());
     }
     Assert.AreEqual("0", ((TestEnum)0).GetDescription());
     Assert.AreEqual("A Des", TestEnum.A.GetDescription());
     Assert.AreEqual("B Des", TestEnum.B.GetDescription());
     Assert.AreEqual("C Des", TestEnum.C.GetDescription());
     Assert.AreEqual("D Des", TestEnum.D.GetDescription());
     Assert.AreEqual("E", TestEnum.E.GetDescription());
     Assert.AreEqual("0", ((TestEnum2)0).GetDescription());
     Assert.AreEqual("A Des", TestEnum2.A.GetDescription());
     Assert.AreEqual("B Des", TestEnum2.B.GetDescription());
     Assert.AreEqual("C Des", TestEnum2.C.GetDescription());
     Assert.AreEqual("D", TestEnum2.D.GetDescription());
     Assert.AreEqual("AB Des", TestEnum2.AB.GetDescription());
     Assert.AreEqual("BC Des", TestEnum2.BC.GetDescription());
     Assert.AreEqual("A Des, BC Des", (TestEnum2.BC | TestEnum2.A).GetDescription());
     Assert.AreEqual("BC Des, D", (TestEnum2.BC | TestEnum2.D).GetDescription());
     Assert.AreEqual("All Des", TestEnum2.All.GetDescription());
     Assert.AreEqual("All Des, 128", (TestEnum2.All | (TestEnum2)128).GetDescription());
 }