aboutsummaryrefslogtreecommitdiffstatsci
path: root/Crow.Test/Test.cs
blob: d4d978569712a9db61149fdc8ccc2b891c5619bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//
//  Test.cs
//
//  Author:
//       Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
//
//  Copyright (c) 2016 jp
//
//  This program is free software: you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
using NUnit.Framework;
using System;
using Crow;
using System.IO;
[assembly: Description ("Assembly description here")]
namespace UnitTest
{
	[TestFixture, Description ("Fixture description here")]
	public class Test
	{
		Interface iface;
		Rectangle bounds = new Rectangle (0, 0, 600, 600);


		[SetUp]
		public void Init ()
		{
			iface = new Interface ();
			iface.Init ();
			iface.ProcessResize (bounds);
		}

		[Test , Description("My really cool test")]
		public void GraphicObject ()
		{
			string [] tests = new string [] { "0", "1", "3", "4", "5" };

			foreach (string s in tests) {
				string fileName = Path.Combine ("Interfaces", s + ".crow");
				iface.AddWidget (fileName);

				iface.Update ();
				iface.Update ();

				using (Cairo.Surface surf = new Cairo.ImageSurface (iface.bmp,
					  Cairo.Format.Argb32, iface.ClientRectangle.Width, iface.ClientRectangle.Height, iface.ClientRectangle.Width * 4)) {
					surf.WriteToPng (@"tmp.png");
					surf.WriteToPng (fileName + ".png");
				}


				byte [] model = File.ReadAllBytes ("ExpectedOutputs/" + s + ".png");
				byte [] result = File.ReadAllBytes (@"tmp.png");

				//CollectionAssert.AreEqual (model, result);

				iface.ClearInterface ();
			}
		}
	}
}