public void StructureTypeWithValueToObjectContextTest()
        {
            var contract = VerifiableObjectContractManager.Resolve <NiceStruct>();
            var @struct  = new NiceStruct("NiceBoat1000", 100);
            var context1 = contract.WithInstance(@struct);
            var context2 = contract.WithInstance(@struct, "NiceStruct");

            context1.InstanceName.ShouldBe("Instance");
            context2.InstanceName.ShouldBe("NiceStruct");

            context1.GetValues().Count().ShouldBe(2);
            context2.GetValues().Count().ShouldBe(2);

            context1.GetValue(0).MemberName.ShouldBe("Name");
            context2.GetValue(0).MemberName.ShouldBe("Name");

            context1.GetValue(1).MemberName.ShouldBe("Age");
            context2.GetValue(1).MemberName.ShouldBe("Age");

            context1.GetValue("Name").Value.ShouldBe("NiceBoat1000");
            context2.GetValue("Name").Value.ShouldBe("NiceBoat1000");

            context1.GetValue("Age").Value.ShouldBe(100);
            context2.GetValue("Age").Value.ShouldBe(100);
        }
Beispiel #2
0
 public void StructAlloc()
 {
     for (int i = 0; i < AllocationCount; i++)
     {
         StructList[i] = new NiceStruct(i, i);
     }
 }
        public void StructsSum()
        {
            int itemASum = 0, itemBSum = 0;

            for (int i = 0; i < StructList.Length; i++)
            {
                ref NiceStruct reference = ref StructList[i];
                itemASum += reference.NumberA;
                itemBSum += reference.NumberB;
            }
Beispiel #4
0
        public void ToSetValueIntoStructWithoutSilenceModeTest()
        {
            var options = ObjectVisitorOptions.Default.With(x => x.SilenceIfNotWritable = false);
            var model   = new NiceStruct("Alex", 23, DateTime.Today, Country.China, true);
            var v       = ObjectVisitor.Create(model, options);

            v.ShouldNotBeNull();

            v["Name"].ShouldBe("Alex");

            Assert.Throws <InvalidOperationException>(() => v["Name"] = "Lewis");
        }
Beispiel #5
0
        public void ToGetValueFromStructTest()
        {
            var model = new NiceStruct("Alex", 23, DateTime.Today, Country.China, true);
            var v     = ObjectVisitor.Create(model);

            v.ShouldNotBeNull();

            v["Name"].ShouldBe("Alex");
            v["Age"].ShouldBe(23);
            v["Birthday"].ShouldBe(DateTime.Today);
            v["Country"].ShouldBe(Country.China);
        }
Beispiel #6
0
        public void ToSetValueIntoStructWithSilenceModeTest()
        {
            var model = new NiceStruct("Alex", 23, DateTime.Today, Country.China, true);
            var v     = ObjectVisitor.Create(model);

            v.ShouldNotBeNull();

            v["Name"].ShouldBe("Alex");

            v["Name"] = "Lewis";

            v["Name"].ShouldBe("Alex"); // struct is readonly
        }