[C#]voidAssertIsTrue(boolcondition,stringmessage){if(!condition){thrownewFormatException(message);}}conststringActualPropertyValueIsWrongMessage="Expected property value is not equal to actual value";stringdestinationFileName="Output"+sourceFileName;boolisRequiredResourceFound=false;using(PsdImageim=(PsdImage)Image.Load(sourceFileName)){foreach(varlayerinim.Layers){foreach(varlayerResourceinlayer.Resources){if(layerResourceisBlwhResource){varblwhResource=(BlwhResource)layerResource;varblwhLayer=(BlackWhiteAdjustmentLayer)layer;isRequiredResourceFound=true;AssertIsTrue(blwhResource.Reds==reds,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Yellows==yellows,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Greens==greens,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Cyans==cyans,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Blues==blues,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Magentas==magentas,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.UseTint==useTint,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.TintColor==tintColor,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.BwPresetKind==bwPresetKind,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.BlackAndWhitePresetFileName==bwPresetFileName,ActualPropertyValueIsWrongMessage);AssertIsTrue(Math.Abs(blwhLayer.TintColorRed-tintColorRed)<1e-6,ActualPropertyValueIsWrongMessage);AssertIsTrue(Math.Abs(blwhLayer.TintColorGreen-tintColorGreen)<1e-6,ActualPropertyValueIsWrongMessage);AssertIsTrue(Math.Abs(blwhLayer.TintColorBlue-tintColorBlue)<1e-6,ActualPropertyValueIsWrongMessage);// 編集と保存のテストblwhResource.Reds=reds-15;blwhResource.Yellows=yellows-15;blwhResource.Greens=greens+15;blwhResource.Cyans=cyans+15;blwhResource.Blues=blues-15;blwhResource.Magentas=magentas-15;blwhResource.UseTint=!useTint;blwhResource.BwPresetKind=4;blwhResource.BlackAndWhitePresetFileName="bwPresetFileName";blwhLayer.TintColorRed=tintColorRed-60;blwhLayer.TintColorGreen=tintColorGreen-60;blwhLayer.TintColorBlue=tintColorBlue-60;im.Save(destinationFileName);break;}}}}AssertIsTrue(isRequiredResourceFound,"The specified BlwhResource not found");isRequiredResourceFound=false;using(PsdImageim=(PsdImage)Image.Load(destinationFileName)){foreach(varlayerinim.Layers){foreach(varlayerResourceinlayer.Resources){if(layerResourceisBlwhResource){varblwhResource=(BlwhResource)layerResource;varblwhLayer=(BlackWhiteAdjustmentLayer)layer;isRequiredResourceFound=true;AssertIsTrue(blwhResource.Reds==reds-15,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Yellows==yellows-15,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Greens==greens+15,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Cyans==cyans+15,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Blues==blues-15,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.Magentas==magentas-15,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.UseTint==!useTint,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.TintColor==newTintColor,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.BwPresetKind==4,ActualPropertyValueIsWrongMessage);AssertIsTrue(blwhResource.BlackAndWhitePresetFileName=="bwPresetFileName",ActualPropertyValueIsWrongMessage);AssertIsTrue(Math.Abs(blwhLayer.TintColorRed-tintColorRed+60)<1e-6,ActualPropertyValueIsWrongMessage);AssertIsTrue(Math.Abs(blwhLayer.TintColorGreen-tintColorGreen+60)<1e-6,ActualPropertyValueIsWrongMessage);AssertIsTrue(Math.Abs(blwhLayer.TintColorBlue-tintColorBlue+60)<1e-6,ActualPropertyValueIsWrongMessage);break;}}}}AssertIsTrue(isRequiredResourceFound,"The specified BlwhResource not found");