OSDN Git Service

1fedd526754fc366c0b0d931aac9530696036431
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer.Test / ShipStatusTest.cs
1 using KancolleSniffer.Model;\r
2 using Microsoft.VisualStudio.TestTools.UnitTesting;\r
3 \r
4 namespace KancolleSniffer.Test\r
5 {\r
6     [TestClass]\r
7     public class ShipStatusTest\r
8     {\r
9         private static readonly ItemStatus 三式水中探信儀 = new ItemStatus\r
10         {\r
11             Id = 1,\r
12             Spec = new ItemSpec\r
13             {\r
14                 Id = 47,\r
15                 Name = "三式水中探信儀",\r
16                 Type = 14,\r
17                 AntiSubmarine = 10\r
18             }\r
19         };\r
20 \r
21         private static readonly ItemStatus 三式爆雷投射機 = new ItemStatus\r
22         {\r
23             Id = 1,\r
24             Spec = new ItemSpec\r
25             {\r
26                 Id = 45,\r
27                 Name = "三式爆雷投射機",\r
28                 Type = 15,\r
29                 AntiSubmarine = 8\r
30             }\r
31         };\r
32 \r
33         private static readonly ItemStatus 九五式爆雷 = new ItemStatus\r
34         {\r
35             Id = 1,\r
36             Spec = new ItemSpec\r
37             {\r
38                 Id = 226,\r
39                 Name = "九五式爆雷",\r
40                 Type = 15,\r
41                 AntiSubmarine = 4\r
42             }\r
43         };\r
44 \r
45         // ReSharper disable once InconsistentNaming\r
46         private static readonly ItemStatus SGレーダー初期型 = new ItemStatus\r
47         {\r
48             Id = 1,\r
49             Spec = new ItemSpec\r
50             {\r
51                 Id = 315,\r
52                 Name = "SG レーダー(初期型)",\r
53                 Type = 12,\r
54                 AntiSubmarine = 3\r
55             }\r
56         };\r
57 \r
58         // ReSharper disable once InconsistentNaming\r
59         private static readonly ItemStatus 試製15cm9連装対潜噴進砲 = new ItemStatus\r
60         {\r
61             Id = 1,\r
62             Spec = new ItemSpec\r
63             {\r
64                 Id = 288,\r
65                 Name = "試製15cm9連装対潜噴進砲",\r
66                 Type = 15,\r
67                 AntiSubmarine = 15\r
68             }\r
69         };\r
70 \r
71         private static readonly ItemStatus 流星改 = new ItemStatus\r
72         {\r
73             Id = 1,\r
74             Spec = new ItemSpec\r
75             {\r
76                 Id = 52,\r
77                 Name = "流星改",\r
78                 Type = 8,\r
79                 AntiSubmarine = 3\r
80             }\r
81         };\r
82 \r
83         private static readonly ItemStatus カ号観測機 = new ItemStatus\r
84         {\r
85             Id = 1,\r
86             Spec = new ItemSpec\r
87             {\r
88                 Id = 69,\r
89                 Name = "カ号観測機",\r
90                 Type = 25,\r
91                 AntiSubmarine = 9\r
92             }\r
93         };\r
94 \r
95         private static readonly ItemStatus 三式指揮連絡機対潜 = new ItemStatus\r
96         {\r
97             Id = 1,\r
98             Spec = new ItemSpec\r
99             {\r
100                 Id = 70,\r
101                 Name = "三式指揮連絡機(対潜)",\r
102                 Type = 26,\r
103                 AntiSubmarine = 7\r
104             }\r
105         };\r
106 \r
107         private static readonly ItemStatus 九九式艦爆 = new ItemStatus\r
108         {\r
109             Id = 1,\r
110             Spec = new ItemSpec\r
111             {\r
112                 Id = 23,\r
113                 Name = "九九式艦爆",\r
114                 Type = 7,\r
115                 AntiSubmarine = 3\r
116             }\r
117         };\r
118 \r
119         private static readonly ItemStatus 水中聴音機零式 = new ItemStatus\r
120         {\r
121             Id = 1,\r
122             Spec = new ItemSpec\r
123             {\r
124                 Id = 132,\r
125                 Name = "水中聴音機零式",\r
126                 Type = 40,\r
127                 AntiSubmarine = 11\r
128             }\r
129         };\r
130 \r
131         private static readonly ItemStatus 九七式艦攻九三一空 = new ItemStatus\r
132         {\r
133             Id = 1,\r
134             Spec = new ItemSpec\r
135             {\r
136                 Id = 82,\r
137                 Name = "九七式艦攻(九三一空)",\r
138                 Type = 8,\r
139                 AntiSubmarine = 7,\r
140                 Torpedo = 6\r
141             }\r
142         };\r
143 \r
144         [TestClass]\r
145         public class OpeningSubmarineAttack\r
146         {\r
147             /// <summary>\r
148             /// 通常の先制対潜\r
149             /// </summary>\r
150             [TestMethod]\r
151             public void CheckStandardCase()\r
152             {\r
153                 var ship = new ShipStatus\r
154                 {\r
155                     Spec = new ShipSpec {ShipType = 3},\r
156                     Slot = new[] {三式水中探信儀},\r
157                     AntiSubmarine = 99\r
158                 };\r
159                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack, "対潜不足");\r
160                 ship.AntiSubmarine = 100;\r
161                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
162                 ship.Slot = new[] {new ItemStatus()};\r
163                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack, "ソナー未搭載");\r
164             }\r
165 \r
166 \r
167             /// <summary>\r
168             /// 海防艦の先制対潜\r
169             /// </summary>\r
170             [TestMethod]\r
171             public void CheckCoastGuard()\r
172             {\r
173                 var ship = new ShipStatus\r
174                 {\r
175                     Spec = new ShipSpec {ShipType = 1},\r
176                     Slot = new[] {九五式爆雷},\r
177                     AntiSubmarine = 74\r
178                 };\r
179                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack, "対潜不足");\r
180                 ship.AntiSubmarine = 75;\r
181                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
182                 ship.Slot = new[]\r
183                 {\r
184                     SGレーダー初期型\r
185                 };\r
186                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack, "装備対潜不足");\r
187             }\r
188 \r
189             /// <summary>\r
190             /// 無条件で先制対潜が可能\r
191             /// </summary>\r
192             [DataTestMethod]\r
193             [DataRow("五十鈴改二")]\r
194             [DataRow("龍田改二")]\r
195             [DataRow("Jervis改")]\r
196             [DataRow("Janus改")]\r
197             [DataRow("Samuel B.Roberts改")]\r
198             [DataRow("Johnston")]\r
199             [DataRow("Johnston改")]\r
200             [DataRow("Fletcher")]\r
201             [DataRow("Fletcher改")]\r
202             public void CheckNonConditional(string name)\r
203             {\r
204                 var ship = new ShipStatus\r
205                 {\r
206                     Spec = new ShipSpec\r
207                     {\r
208                         Name = name\r
209                     }\r
210                 };\r
211                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
212             }\r
213 \r
214             /// <summary>\r
215             /// 大鷹改・改二、神鷹改・改二\r
216             /// </summary>\r
217             [DataTestMethod]\r
218             [DataRow("大鷹改")]\r
219             [DataRow("大鷹改二")]\r
220             [DataRow("神鷹改")]\r
221             [DataRow("神鷹改二")]\r
222             public void CheckSpecialEscortCarrier(string name)\r
223             {\r
224                 var ship = new ShipStatus\r
225                 {\r
226                     Spec = new ShipSpec\r
227                     {\r
228                         Name = name\r
229                     },\r
230                     Slot = new ItemStatus[0]\r
231                 };\r
232                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
233 \r
234                 ship.Slot = new[] {流星改};\r
235                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
236 \r
237                 ship.Slot = new[] {カ号観測機};\r
238                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
239 \r
240                 ship.Slot = new[] {三式指揮連絡機対潜};\r
241                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
242 \r
243                 ship.Slot = new[] {九九式艦爆};\r
244                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
245             }\r
246 \r
247             [DataTestMethod]\r
248             [DataRow("大鷹")]\r
249             [DataRow("Gambier Bay")]\r
250             [DataRow("Gambier Bay改")]\r
251             [DataRow("瑞鳳改二乙")]\r
252             [DataRow("神鷹")]\r
253             public void CheckEscortCarrierLevel50(string name)\r
254             {\r
255                 var ship = new ShipStatus\r
256                 {\r
257                     Spec = new ShipSpec\r
258                     {\r
259                         Name = name\r
260                     },\r
261                     Slot = new ItemStatus[0]\r
262                 };\r
263                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
264 \r
265                 ship.AntiSubmarine = 49;\r
266                 ship.Slot = new[]\r
267                 {\r
268                     水中聴音機零式,\r
269                     九七式艦攻九三一空\r
270                 };\r
271                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
272 \r
273                 ship.AntiSubmarine = 50;\r
274                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
275 \r
276                 ship.Slot = new[]\r
277                 {\r
278                     水中聴音機零式,\r
279                     三式指揮連絡機対潜\r
280                 };\r
281                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
282 \r
283                 ship.Slot = new[]\r
284                 {\r
285                     水中聴音機零式,\r
286                     カ号観測機\r
287                 };\r
288                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
289             }\r
290 \r
291             [DataTestMethod]\r
292             [DataRow("大鷹")]\r
293             [DataRow("Gambier Bay")]\r
294             [DataRow("Gambier Bay改")]\r
295             [DataRow("瑞鳳改二乙")]\r
296             [DataRow("神鷹")]\r
297             public void CheckEscortCarrierLevel65(string name)\r
298             {\r
299                 var ship = new ShipStatus\r
300                 {\r
301                     Spec = new ShipSpec\r
302                     {\r
303                         Name = name\r
304                     },\r
305                     Slot = new ItemStatus[0]\r
306                 };\r
307                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
308 \r
309                 ship.AntiSubmarine = 64;\r
310                 ship.Slot = new[]\r
311                 {\r
312                     九七式艦攻九三一空\r
313                 };\r
314                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
315 \r
316                 ship.AntiSubmarine = 65;\r
317                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
318 \r
319                 ship.Slot = new[]\r
320                 {\r
321                     カ号観測機\r
322                 };\r
323                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
324 \r
325                 ship.Slot = new[]\r
326                 {\r
327                     三式指揮連絡機対潜\r
328                 };\r
329                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
330             }\r
331 \r
332             [DataTestMethod]\r
333             [DataRow("大鷹")]\r
334             [DataRow("Gambier Bay")]\r
335             [DataRow("Gambier Bay改")]\r
336             [DataRow("瑞鳳改二乙")]\r
337             [DataRow("神鷹")]\r
338             public void CheckEscortCarrierLevel100(string name)\r
339             {\r
340                 var ship = new ShipStatus\r
341                 {\r
342                     Spec = new ShipSpec\r
343                     {\r
344                         Name = name\r
345                     },\r
346                     Slot = new ItemStatus[0]\r
347                 };\r
348                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
349 \r
350                 ship.AntiSubmarine = 100;\r
351                 ship.Slot = new[]\r
352                 {\r
353                     水中聴音機零式,\r
354                     カ号観測機\r
355                 };\r
356                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
357 \r
358                 ship.Slot = new[]\r
359                 {\r
360                     水中聴音機零式,\r
361                     流星改\r
362                 };\r
363                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
364 \r
365                 ship.AntiSubmarine = 99;\r
366                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
367 \r
368                 ship.AntiSubmarine = 100;\r
369                 ship.Slot = new[]\r
370                 {\r
371                     水中聴音機零式,\r
372                     九九式艦爆\r
373                 };\r
374                 Assert.IsTrue(ship.CanOpeningAntiSubmarineAttack);\r
375             }\r
376 \r
377             [TestMethod]\r
378             public void 瑞鳳改二()\r
379             {\r
380                 CheckEscortCarrierLevel50("瑞鳳改二");\r
381 \r
382                 var ship = new ShipStatus\r
383                 {\r
384                     Spec = new ShipSpec\r
385                     {\r
386                         Name = "瑞鳳改二"\r
387                     },\r
388                     Slot = new ItemStatus[0]\r
389                 };\r
390                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
391 \r
392                 ship.AntiSubmarine = 65;\r
393                 ship.Slot = new[]\r
394                 {\r
395                     カ号観測機\r
396                 };\r
397                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
398 \r
399                 ship.AntiSubmarine = 100;\r
400                 ship.Slot = new[]\r
401                 {\r
402                     水中聴音機零式,\r
403                     流星改\r
404                 };\r
405                 Assert.IsFalse(ship.CanOpeningAntiSubmarineAttack);\r
406             }\r
407         }\r
408 \r
409         [TestClass]\r
410         public class NightBattlePower\r
411         {\r
412             [TestMethod]\r
413             public void 甲標的の改修効果()\r
414             {\r
415                 var ship = new ShipStatus\r
416                 {\r
417                     Torpedo = 102,\r
418                     Slot = new[]\r
419                     {\r
420                         new ItemStatus\r
421                         {\r
422                             Id = 1,\r
423                             Spec = new ItemSpec\r
424                             {\r
425                                 Id = 309,\r
426                                 Name = "甲標的 丙型",\r
427                                 AntiSubmarine = 14,\r
428                                 Type = 22\r
429                             },\r
430                             Level = 4\r
431                         }\r
432                     }\r
433                 };\r
434                 Assert.AreEqual(104, ship.NightBattlePower);\r
435             }\r
436         }\r
437 \r
438         [TestClass]\r
439         public class AntiSubmarine\r
440         {\r
441             [TestMethod]\r
442             public void 軽空母()\r
443             {\r
444                 var ship = new ShipStatus\r
445                 {\r
446                     Fleet = new Fleet(null, 0, null),\r
447                     Firepower = 49,\r
448                     Spec = new ShipSpec\r
449                     {\r
450                         ShipType = 7\r
451                     },\r
452                     AntiSubmarine = 47 + 11,\r
453                     Slot = new[]\r
454                     {\r
455                         水中聴音機零式\r
456                     }\r
457                 };\r
458                 Assert.AreEqual(0, ship.EffectiveAntiSubmarine, "艦載機なし");\r
459 \r
460                 ship.AntiSubmarine = 47 + 18;\r
461                 ship.Slot = new[]\r
462                 {\r
463                     九七式艦攻九三一空,\r
464                     水中聴音機零式\r
465                 };\r
466                 Assert.AreEqual("48.7", ship.EffectiveAntiSubmarine.ToString("f1"), "艦載機あり");\r
467             }\r
468 \r
469             [TestMethod]\r
470             public void 水上機母艦()\r
471             {\r
472                 var ship = new ShipStatus\r
473                 {\r
474                     Fleet = new Fleet(null, 0, null),\r
475                     Firepower = 58,\r
476                     Spec = new ShipSpec\r
477                     {\r
478                         ShipType = 16\r
479                     },\r
480                     AntiSubmarine = 10,\r
481                     Slot = new[]\r
482                     {\r
483                         三式水中探信儀\r
484                     }\r
485                 };\r
486                 Assert.AreEqual(0, ship.EffectiveAntiSubmarine);\r
487 \r
488                 ship.AntiSubmarine = 19;\r
489                 ship.Slot = new[]\r
490                 {\r
491                     三式水中探信儀,\r
492                     カ号観測機\r
493                 };\r
494                 Assert.AreEqual("36.5", ship.EffectiveAntiSubmarine.ToString("f1"));\r
495             }\r
496 \r
497             [TestMethod]\r
498             public void 対潜装備一つ()\r
499             {\r
500                 var ship = new ShipStatus\r
501                 {\r
502                     Fleet = new Fleet(null, 0, null),\r
503                     Firepower = 50,\r
504                     Spec = new ShipSpec\r
505                     {\r
506                         ShipType = 2\r
507                     },\r
508                     AntiSubmarine = 63 + 10,\r
509                     Slot = new[]\r
510                     {\r
511                         三式水中探信儀\r
512                     }\r
513                 };\r
514                 Assert.AreEqual("43.9", ship.EffectiveAntiSubmarine.ToString("f1"));\r
515 \r
516                 ship.AntiSubmarine = 63 + 8;\r
517                 ship.Slot = new[]\r
518                 {\r
519                     三式爆雷投射機\r
520                 };\r
521                 Assert.AreEqual("40.9", ship.EffectiveAntiSubmarine.ToString("f1"));\r
522 \r
523                 ship.AntiSubmarine = 63 + 4;\r
524                 ship.Slot = new[]\r
525                 {\r
526                     九五式爆雷\r
527                 };\r
528                 Assert.AreEqual("34.9", ship.EffectiveAntiSubmarine.ToString("f1"));\r
529             }\r
530 \r
531             [TestMethod]\r
532             public void 爆雷投射機と爆雷()\r
533             {\r
534                 var ship = new ShipStatus\r
535                 {\r
536                     Fleet = new Fleet(null, 0, null),\r
537                     Firepower = 50,\r
538                     Spec = new ShipSpec\r
539                     {\r
540                         ShipType = 2\r
541                     },\r
542                     AntiSubmarine = 63 + 12,\r
543                     Slot = new[]\r
544                     {\r
545                         三式爆雷投射機,\r
546                         九五式爆雷\r
547                     }\r
548                 };\r
549                 Assert.AreEqual("51.6", ship.EffectiveAntiSubmarine.ToString("f1"));\r
550             }\r
551 \r
552             [TestMethod]\r
553             public void ソナーとそれ以外()\r
554             {\r
555                 var ship = new ShipStatus\r
556                 {\r
557                     Fleet = new Fleet(null, 0, null),\r
558                     Firepower = 50,\r
559                     Spec = new ShipSpec\r
560                     {\r
561                         ShipType = 2\r
562                     },\r
563                     AntiSubmarine = 63 + 18,\r
564                     Slot = new[]\r
565                     {\r
566                         三式水中探信儀,\r
567                         三式爆雷投射機\r
568                     }\r
569                 };\r
570                 Assert.AreEqual("64.3", ship.EffectiveAntiSubmarine.ToString("f1"));\r
571 \r
572                 ship.AntiSubmarine = 63 + 14;\r
573                 ship.Slot = new[]\r
574                 {\r
575                     三式水中探信儀,\r
576                     九五式爆雷\r
577                 };\r
578                 Assert.AreEqual("57.4", ship.EffectiveAntiSubmarine.ToString("f1"));\r
579 \r
580                 ship.AntiSubmarine = 63 + 25;\r
581                 ship.Slot = new[]\r
582                 {\r
583                     三式水中探信儀,\r
584                     試製15cm9連装対潜噴進砲\r
585                 };\r
586                 Assert.AreEqual("76.3", ship.EffectiveAntiSubmarine.ToString("f1"));\r
587             }\r
588 \r
589             [TestMethod]\r
590             public void 三種コンビネーション()\r
591             {\r
592                 var ship = new ShipStatus\r
593                 {\r
594                     Fleet = new Fleet(null, 0, null),\r
595                     Firepower = 50,\r
596                     Spec = new ShipSpec\r
597                     {\r
598                         ShipType = 2\r
599                     },\r
600                     AntiSubmarine = 63 + 22,\r
601                     Slot = new[]\r
602                     {\r
603                         三式水中探信儀,\r
604                         三式爆雷投射機,\r
605                         九五式爆雷\r
606                     }\r
607                 };\r
608                 Assert.AreEqual("88.9", ship.EffectiveAntiSubmarine.ToString("f1"));\r
609 \r
610                 ship.AntiSubmarine = 63 + 33;\r
611                 ship.Slot = new[]\r
612                 {\r
613                     三式水中探信儀,\r
614                     試製15cm9連装対潜噴進砲,\r
615                     九五式爆雷\r
616                 };\r
617                 Assert.AreEqual("83.8", ship.EffectiveAntiSubmarine.ToString("f1"), "三種コンビネーションにならない");\r
618             }\r
619         }\r
620 \r
621         // ReSharper disable once InconsistentNaming\r
622         private static readonly ItemStatus A12cm30連装噴進砲改二 = new ItemStatus\r
623         {\r
624             Id = 1,\r
625             Spec = new ItemSpec\r
626             {\r
627                 Id = 274,\r
628                 Type = 21,\r
629                 IconType = 15,\r
630                 AntiAir = 8\r
631             }\r
632         };\r
633 \r
634         // ReSharper disable once InconsistentNaming\r
635         private static readonly ItemStatus A25mm三連装機銃集中配備 = new ItemStatus\r
636         {\r
637             Id = 1,\r
638             Spec = new ItemSpec{\r
639                 Id = 131,\r
640                 Type = 21,\r
641                 IconType = 15,\r
642                 AntiAir = 9\r
643             }\r
644         };\r
645 \r
646         [TestClass]\r
647         public class AntiAirPropellantBarrageChance\r
648         {\r
649             private ShipStatus _ship;\r
650 \r
651             [TestInitialize]\r
652             public void Initialize()\r
653             {\r
654                 _ship =new ShipStatus\r
655                 {\r
656                     AntiAir = 93,\r
657                     Lucky = 46,\r
658                     Spec = new ShipSpec\r
659                     {\r
660                         ShipType = 4,\r
661                     },\r
662                     Slot = new ItemStatus[0]\r
663                 };\r
664             }\r
665 \r
666             [TestMethod]\r
667             public void 噴進砲改二なし()\r
668             {\r
669                 Assert.AreEqual(0, _ship.AntiAirPropellantBarrageChance);\r
670             }\r
671 \r
672             [TestMethod]\r
673             public void 噴進砲改二1つ()\r
674             {\r
675                 _ship.AntiAir = 85 + 8;\r
676                 _ship.Slot = new[]\r
677                 {\r
678                     A12cm30連装噴進砲改二\r
679                 };\r
680                 Assert.AreEqual("61.7", _ship.AntiAirPropellantBarrageChance.ToString("f1"));\r
681             }\r
682 \r
683             [TestMethod]\r
684             public void 補強増設に噴進砲改二()\r
685             {\r
686                 _ship.AntiAir = 85 + 8;\r
687                 _ship.SlotEx = A12cm30連装噴進砲改二;\r
688                 Assert.AreEqual("61.7", _ship.AntiAirPropellantBarrageChance.ToString("f1"));\r
689             }\r
690 \r
691             [TestMethod]\r
692             public void 噴進砲改二2つ()\r
693             {\r
694                 _ship.AntiAir = 85 + 16;\r
695                 _ship.Slot = new[]\r
696                 {\r
697                     A12cm30連装噴進砲改二,\r
698                     A12cm30連装噴進砲改二\r
699                 };\r
700                 Assert.AreEqual("93.8", _ship.AntiAirPropellantBarrageChance.ToString("f1"));\r
701             }\r
702 \r
703             [TestMethod]\r
704             public void 噴進砲改二2つと機銃()\r
705             {\r
706                 _ship.AntiAir = 85 + 25;\r
707                 _ship.Slot = new[]\r
708                 {\r
709                     A12cm30連装噴進砲改二,\r
710                     A12cm30連装噴進砲改二,\r
711                     A25mm三連装機銃集中配備\r
712                 };\r
713                 Assert.AreEqual("113.0", _ship.AntiAirPropellantBarrageChance.ToString("f1"), "噴進砲改二2+機銃");\r
714             }\r
715 \r
716             [TestMethod]\r
717             public void 伊勢型()\r
718             {\r
719                 _ship.AntiAir = 85 + 8;\r
720                 _ship.Slot = new[]\r
721                 {\r
722                     A12cm30連装噴進砲改二\r
723                 };\r
724                 _ship.Spec.ShipClass = 2;\r
725                 Assert.AreEqual("86.7", _ship.AntiAirPropellantBarrageChance.ToString("f1"));\r
726             }\r
727         }\r
728     }\r
729 }