Example #1
0
		protected override void Check()
		{
			var a = new[] { E8.A, E8.B };
			var b = new[] { E16.A, E16.B };
			var c = new[] { E32.A, E32.B };
			var d = new C { A = E8.A, B = E8.B };

			GenerateCode(SerializationMode.Optimized, a, b, c, d);
			StateSlotCount.ShouldBe(4);

			Serialize();
			a[0] = 0;
			a[1] = 0;
			b[0] = 0;
			b[1] = 0;
			c[0] = 0;
			c[1] = 0;
			d.A = E8.A;
			d.B = E8.B;

			Deserialize();
			a.ShouldBe(new[] { E8.A, E8.B });
			b.ShouldBe(new[] { E16.A, E16.B });
			c.ShouldBe(new[] { E32.A, E32.B });
			d.A.ShouldBe(E8.A);
			d.B.ShouldBe(E8.B);
		}
Example #2
0
		protected override void Check()
		{
			var c = new C { A = 3, B = -17, S = { A = 3 }, T = new[] { new S { A = 99 }, new S { A = 81 } } };
			var a = new[] { E.A, E.B };

			GenerateCode(SerializationMode.Optimized, a, c);
			StateSlotCount.ShouldBe(3);

			Serialize();
			c.B = 2;
			c.A = 1;
			a[0] = 0;
			a[1] = 0;
			c.S = new S();
			c.T[0] = new S();
			c.T[1] = new S();

			Deserialize();
			c.B.ShouldBe((sbyte)-17);
			c.A.ShouldBe((byte)3);
			a.ShouldBe(new[] { E.A, E.B });
			c.S.A.ShouldBe((byte)3);
			c.T[0].A.ShouldBe((byte)99);
			c.T[1].A.ShouldBe((byte)81);
		}
Example #3
0
		protected override void Check()
		{
			var c1 = new C { A = true, B = false, D = true };
			var a1 = new[] { true, false, true };
			var c2 = new C { A = false, B = true, D = false };
			var a2 = new[] { true, false };

			GenerateCode(SerializationMode.Optimized, c1, a1, c2, a2);
			StateSlotCount.ShouldBe(1);

			Serialize();
			c1.B = false;
			c1.A = false;
			c2.B = false;
			c2.A = false;
			a1[0] = false;
			a1[1] = false;
			a1[2] = false;
			a2[0] = false;
			a2[1] = false;

			Deserialize();
			SerializedState[2].ShouldBe((byte)0);
			SerializedState[3].ShouldBe((byte)0);
			c1.A.ShouldBe(true);
			c1.B.ShouldBe(false);
			c1.D.ShouldBe(true);
			a1.ShouldBe(new[] { true, false, true });
			c2.A.ShouldBe(false);
			c2.B.ShouldBe(true);
			c2.D.ShouldBe(false);
			a2.ShouldBe(new[] { true, false });
		}
Example #4
0
		protected override void Check()
		{
			var c1 = new C { A = 3 };
			var c2 = new C { A = 99 };
			var e = new[] { E.B };

			GenerateCode(SerializationMode.Optimized, c1, e, c2);
			StateSlotCount.ShouldBe(1);

			Serialize();
			c1.A = 1;
			e[0] = E.C;
			c2.A = 1;

			Deserialize();
			c1.A.ShouldBe((byte)3);
			e.ShouldBe(new[] { E.B });
			c2.A.ShouldBe((byte)99);
		}