root/as3/gunyarapaint/branches/gunyarapaint/test/src/org/libspark/gunyarapaint/framework/PainterTest.as

リビジョン 3525, 4.7 kB (コミッタ: hkrn, コミット時期: 3 年 前)

following 5 renamed classes

Line 
1 package org.libspark.gunyarapaint.framework
2 {
3     import flash.display.BlendMode;
4     import flash.display.CapsStyle;
5     import flash.display.DisplayObject;
6     import flash.display.JointStyle;
7     import flash.display.Shape;
8     import flash.display.Sprite;
9    
10     import org.flexunit.Assert;
11
12     public class PainterTest
13     {
14         [Test]
15         public function ペンの設定():void
16         {
17             var pen:Pen = new Pen();
18             pen.blendMode = BlendMode.ADD;
19             pen.capsStyle = CapsStyle.SQUARE;
20             pen.color = 0xffff00;
21             pen.jointStyle = JointStyle.BEVEL;
22             pen.miterLimit = 8;
23             pen.pixelHinting = false;
24             pen.thickness = 8;
25             var cc:Painter = newPainter();
26             cc.pen = pen;
27             var fakedPen:Pen = FakePaintEngine.fakedPen;
28             Assert.assertStrictlyEquals(fakedPen.blendMode, pen.blendMode);
29             Assert.assertStrictlyEquals(fakedPen.capsStyle, pen.capsStyle);
30             Assert.assertStrictlyEquals(fakedPen.color, pen.color);
31             Assert.assertStrictlyEquals(fakedPen.jointStyle, pen.jointStyle);
32             Assert.assertStrictlyEquals(fakedPen.miterLimit, pen.miterLimit);
33             Assert.assertStrictlyEquals(fakedPen.pixelHinting, pen.pixelHinting);
34             Assert.assertStrictlyEquals(fakedPen.thickness, pen.thickness);
35         }
36        
37         [Test]
38         public function 座標の移動():void
39         {
40             var x:int = 42;
41             var y:int = 124;
42             var cc:Painter = newPainter();
43             cc.moveTo(x, y);
44             Assert.assertStrictlyEquals(x, FakePaintEngine.point.x);
45             Assert.assertStrictlyEquals(y, FakePaintEngine.point.y);
46         }
47        
48         [Test]
49         public function 円の描写():void
50         {
51             var radius:Number = 3.14;
52             var cc:Painter = newPainter();
53             cc.drawCircle(radius);
54             Assert.assertStrictlyEquals(radius, FakePaintEngine.radius);
55         }
56        
57         [Test]
58         public function 長方形の描写():void
59         {
60             var x:int = 42;
61             var y:int = 124;
62             var width:int = 256;
63             var height:int = 512;
64             var cc:Painter = newPainter();
65             cc.drawRect(x, y, width, height);
66             Assert.assertStrictlyEquals(x, FakePaintEngine.rectangle.x);
67             Assert.assertStrictlyEquals(y, FakePaintEngine.rectangle.y);
68             Assert.assertStrictlyEquals(width, FakePaintEngine.rectangle.width);
69             Assert.assertStrictlyEquals(height, FakePaintEngine.rectangle.height);
70         }
71        
72         [Test]
73         public function 楕円の描写():void
74         {
75             var x:int = 512;
76             var y:int = 256;
77             var width:int = 128;
78             var height:int = 64;
79             var cc:Painter = newPainter();
80             cc.drawEllipse(x, y, width, height);
81             Assert.assertStrictlyEquals(x, FakePaintEngine.rectangle.x);
82             Assert.assertStrictlyEquals(y, FakePaintEngine.rectangle.y);
83             Assert.assertStrictlyEquals(width, FakePaintEngine.rectangle.width);
84             Assert.assertStrictlyEquals(height, FakePaintEngine.rectangle.height);
85         }
86        
87         [Test]
88         public function 塗りつぶし():void
89         {
90             var color:uint = uint.MAX_VALUE;
91             var alpha:Number = 0.5;
92             var cc:Painter = newPainter();
93             cc.beginFill(color, alpha);
94             cc.endFill();
95             Assert.assertStrictlyEquals(color, FakePaintEngine.color);
96             Assert.assertStrictlyEquals(alpha, FakePaintEngine.alpha);
97             Assert.assertTrue(FakePaintEngine.filled);
98         }
99        
100         [Test]
101         public function 描写レイヤーの追加と削除():void
102         {
103             var child:DisplayObject;
104             var cc:Painter = newPainter();
105             // 描写セッションの開始されると一時 Sprite が作成される
106             // その為、上に現在のレイヤーが、下に描写バッファが入る
107             cc.startDrawingSession();
108             child = cc.view.getChildAt(0);
109             Assert.assertTrue(child is Sprite);
110             var sprite:Sprite = Sprite(child);
111             Assert.assertTrue(sprite.getChildAt(0) is LayerBitmap);
112             Assert.assertTrue(sprite.getChildAt(1) is Shape);
113             // 描写セッションが終了すると一時 Sprite が削除され、現在のレイヤーに戻される
114             cc.stopDrawingSession();
115             child = cc.view.getChildAt(0);
116             Assert.assertTrue(child is LayerBitmap);
117         }
118        
119         private function newPainter():Painter
120         {
121             return new Painter(1, 1, Painter.PAINTER_LOG_VERSION, new FakePaintEngine());
122         }
123     }
124 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。