Example #1
0
 public void Create_SmallSize()
 {
     new SadConsole.Tests.BasicGameHost();
     var screenSurface = new SadConsole.ScreenSurface(20, 20);
 }
        public void ScreenSurface_SaveLoad()
        {
            new SadConsole.Tests.BasicGameHost();

            var obj = new SadConsole.ScreenSurface(10, 10);

            obj.Surface.FillWithRandomGarbage(255);
            obj.Position    = (10, 10);
            obj.IsEnabled   = false;
            obj.IsVisible   = false;
            obj.UseKeyboard = true;
            obj.UseMouse    = false;

            var obj2 = new SadConsole.ScreenSurface(20, 20);

            obj2.Surface.FillWithRandomGarbage(255);
            obj2.Position    = (15, 2);
            obj2.IsEnabled   = true;
            obj2.IsVisible   = false;
            obj2.UseKeyboard = false;
            obj2.UseMouse    = true;

            obj.Children.Add(obj2);

            Component1 comp1 = new Component1()
            {
                Name = "component 1"
            };
            Component1 comp2 = new Component1()
            {
                Name = "component 2"
            };

            obj.SadComponents.Add(comp1);
            obj2.SadComponents.Add(comp2);

            SadConsole.Serializer.Save(obj, "test.file", false);
            var newObj = SadConsole.Serializer.Load <SadConsole.ScreenSurface>("test.file", false);

            Assert.AreEqual(obj.Position, newObj.Position);
            Assert.AreEqual(obj.IsEnabled, newObj.IsEnabled);
            Assert.AreEqual(obj.IsVisible, newObj.IsVisible);
            Assert.AreEqual(obj.UseKeyboard, newObj.UseKeyboard);
            Assert.AreEqual(obj.UseMouse, newObj.UseMouse);
            Assert.AreEqual(obj.AbsolutePosition, newObj.AbsolutePosition);

            Assert.AreEqual(obj2.Position, newObj.Children[0].Position);
            Assert.AreEqual(obj2.IsEnabled, newObj.Children[0].IsEnabled);
            Assert.AreEqual(obj2.IsVisible, newObj.Children[0].IsVisible);
            Assert.AreEqual(obj2.UseKeyboard, newObj.Children[0].UseKeyboard);
            Assert.AreEqual(obj2.UseMouse, newObj.Children[0].UseMouse);
            Assert.AreEqual(obj2.AbsolutePosition, newObj.Children[0].AbsolutePosition);

            for (int i = 0; i < 10; i++)
            {
                int index1 = SadConsole.GameHost.Instance.Random.Next(0, obj.Surface.Count);
                int index2 = SadConsole.GameHost.Instance.Random.Next(0, obj.Surface.Count);

                Assert.IsTrue(obj.Surface[index1].Matches(newObj.Surface[index1]));
                Assert.IsTrue(obj2.Surface[index2].Matches(((SadConsole.ScreenSurface)newObj.Children[0]).Surface[index2]));
            }

            Assert.IsInstanceOfType(newObj.Children[0], typeof(SadConsole.ScreenSurface));

            Assert.AreEqual(obj.SadComponents.Count, newObj.SadComponents.Count);
            Assert.AreEqual(obj2.SadComponents.Count, newObj.Children[0].SadComponents.Count);

            Assert.AreEqual(comp1.Name, ((Component1)newObj.SadComponents[0]).Name);
            Assert.AreEqual(comp2.Name, ((Component1)newObj.Children[0].SadComponents[0]).Name);
        }