예제 #1
0
        public void BoostVariant_GetValue_ReturnsTypedValue()
        {
            BoostVariant val = new BoostVariant();

            val.SetValue(55);
            Assert.Equal(55, val.GetValue <int>());
        }
예제 #2
0
        public void BoostVariant_GetValue_FailsIfCastIsImpossible()
        {
            BoostVariant val = new BoostVariant();

            val.SetValue(55);
            Assert.Throws <InvalidCastException>(() => val.GetValue <string>());
        }
예제 #3
0
        public void BoostVariant_GetValue_FailsIfCastIsImpossible()
        {
            BoostVariant val = new BoostVariant();

            val.SetValue(55);
            Assert.AreEqual(55, val.GetValue <string>());
        }
예제 #4
0
        public void BoostVariant_SetValue_PopulatesTypedValue()
        {
            BoostVariant val = new BoostVariant();

            val.SetValue(55);
            val.SetValue("dummy");
            Assert.Equal("dummy", val.Value);
        }
예제 #5
0
 public LexerToken(LexerTokenKindEnum kind, BoostVariant value) : this()
 {
     Kind = kind;
     if (value != null && !value.IsEmpty)
     {
         Value.SetValue(value);
     }
 }
예제 #6
0
        public void BoostVariant_Value_ReturnsAssignedValueOrNull()
        {
            BoostVariant val = new BoostVariant();

            Assert.Null(val.Value);

            val.SetValue(55);
            Assert.Equal(55, val.Value);
        }
예제 #7
0
        public void BoostVariant_Type_ReturnsTypeOfDataOrNullIfItIsEmpty()
        {
            BoostVariant val = new BoostVariant();

            Assert.Null(val.Type);

            val.SetValue(55);
            Assert.Equal(typeof(int), val.Type);
        }
예제 #8
0
        public void BoostVariant_IsEmpty_IndicatesWhetherDataIsAssigned()
        {
            BoostVariant val = new BoostVariant();

            Assert.True(val.IsEmpty);

            val.SetValue(55);
            Assert.False(val.IsEmpty);
        }
예제 #9
0
 public LexerToken()
 {
     Value = new BoostVariant(typeof(int), typeof(string), typeof(DateSpecifier), typeof(MonthEnum));
     Kind  = LexerTokenKindEnum.UNKNOWN;
 }
예제 #10
0
 public DateSpecifierOrRange()
 {
     SpecifierOrRange = new BoostVariant(typeof(int), typeof(DateSpecifier), typeof(DateRange));
 }