|
|
|
@ -12,17 +12,15 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
public class TextGraphicsOptionsTests |
|
|
|
{ |
|
|
|
private readonly TextGraphicsOptions newTextGraphicsOptions = new TextGraphicsOptions(); |
|
|
|
private readonly TextGraphicsOptions defaultTextGraphicsOptions = TextGraphicsOptions.Default; |
|
|
|
private readonly TextGraphicsOptions cloneTextGraphicsOptions = TextGraphicsOptions.Default.Clone(); |
|
|
|
private readonly TextGraphicsOptions cloneTextGraphicsOptions = new TextGraphicsOptions().DeepClone(); |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void DefaultTextGraphicsOptionsIsNotNull() => Assert.True(this.defaultTextGraphicsOptions != null); |
|
|
|
public void CloneTextGraphicsOptionsIsNotNull() => Assert.True(this.cloneTextGraphicsOptions != null); |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void DefaultTextGraphicsOptionsAntialias() |
|
|
|
{ |
|
|
|
Assert.True(this.newTextGraphicsOptions.Antialias); |
|
|
|
Assert.True(this.defaultTextGraphicsOptions.Antialias); |
|
|
|
Assert.True(this.cloneTextGraphicsOptions.Antialias); |
|
|
|
} |
|
|
|
|
|
|
|
@ -31,7 +29,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const int Expected = 16; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.AntialiasSubpixelDepth); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.AntialiasSubpixelDepth); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.AntialiasSubpixelDepth); |
|
|
|
} |
|
|
|
|
|
|
|
@ -40,7 +37,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const float Expected = 1F; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.BlendPercentage); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.BlendPercentage); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.BlendPercentage); |
|
|
|
} |
|
|
|
|
|
|
|
@ -49,7 +45,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const PixelColorBlendingMode Expected = PixelColorBlendingMode.Normal; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.ColorBlendingMode); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.ColorBlendingMode); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.ColorBlendingMode); |
|
|
|
} |
|
|
|
|
|
|
|
@ -58,7 +53,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const PixelAlphaCompositionMode Expected = PixelAlphaCompositionMode.SrcOver; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.AlphaCompositionMode); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.AlphaCompositionMode); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.AlphaCompositionMode); |
|
|
|
} |
|
|
|
|
|
|
|
@ -67,7 +61,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const bool Expected = true; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.ApplyKerning); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.ApplyKerning); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.ApplyKerning); |
|
|
|
} |
|
|
|
|
|
|
|
@ -76,7 +69,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const HorizontalAlignment Expected = HorizontalAlignment.Left; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.HorizontalAlignment); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.HorizontalAlignment); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.HorizontalAlignment); |
|
|
|
} |
|
|
|
|
|
|
|
@ -85,7 +77,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const VerticalAlignment Expected = VerticalAlignment.Top; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.VerticalAlignment); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.VerticalAlignment); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.VerticalAlignment); |
|
|
|
} |
|
|
|
|
|
|
|
@ -94,7 +85,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const float Expected = 72F; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.DpiX); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.DpiX); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.DpiX); |
|
|
|
} |
|
|
|
|
|
|
|
@ -103,7 +93,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const float Expected = 72F; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.DpiY); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.DpiY); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.DpiY); |
|
|
|
} |
|
|
|
|
|
|
|
@ -112,7 +101,6 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const float Expected = 4F; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.TabWidth); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.TabWidth); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.TabWidth); |
|
|
|
} |
|
|
|
|
|
|
|
@ -121,10 +109,77 @@ namespace SixLabors.ImageSharp.Tests.Drawing.Text |
|
|
|
{ |
|
|
|
const float Expected = 0F; |
|
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.WrapTextWidth); |
|
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.WrapTextWidth); |
|
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.WrapTextWidth); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void NonDefaultClone() |
|
|
|
{ |
|
|
|
var expected = new TextGraphicsOptions |
|
|
|
{ |
|
|
|
AlphaCompositionMode = PixelAlphaCompositionMode.DestAtop, |
|
|
|
Antialias = false, |
|
|
|
AntialiasSubpixelDepth = 23, |
|
|
|
ApplyKerning = false, |
|
|
|
BlendPercentage = .25F, |
|
|
|
ColorBlendingMode = PixelColorBlendingMode.HardLight, |
|
|
|
DpiX = 46F, |
|
|
|
DpiY = 52F, |
|
|
|
HorizontalAlignment = HorizontalAlignment.Center, |
|
|
|
TabWidth = 3F, |
|
|
|
VerticalAlignment = VerticalAlignment.Bottom, |
|
|
|
WrapTextWidth = 42F |
|
|
|
}; |
|
|
|
|
|
|
|
TextGraphicsOptions actual = expected.DeepClone(); |
|
|
|
|
|
|
|
Assert.Equal(expected.AlphaCompositionMode, actual.AlphaCompositionMode); |
|
|
|
Assert.Equal(expected.Antialias, actual.Antialias); |
|
|
|
Assert.Equal(expected.AntialiasSubpixelDepth, actual.AntialiasSubpixelDepth); |
|
|
|
Assert.Equal(expected.ApplyKerning, actual.ApplyKerning); |
|
|
|
Assert.Equal(expected.BlendPercentage, actual.BlendPercentage); |
|
|
|
Assert.Equal(expected.ColorBlendingMode, actual.ColorBlendingMode); |
|
|
|
Assert.Equal(expected.DpiX, actual.DpiX); |
|
|
|
Assert.Equal(expected.DpiY, actual.DpiY); |
|
|
|
Assert.Equal(expected.HorizontalAlignment, actual.HorizontalAlignment); |
|
|
|
Assert.Equal(expected.TabWidth, actual.TabWidth); |
|
|
|
Assert.Equal(expected.VerticalAlignment, actual.VerticalAlignment); |
|
|
|
Assert.Equal(expected.WrapTextWidth, actual.WrapTextWidth); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void CloneIsDeep() |
|
|
|
{ |
|
|
|
var expected = new TextGraphicsOptions(); |
|
|
|
TextGraphicsOptions actual = expected.DeepClone(); |
|
|
|
|
|
|
|
actual.AlphaCompositionMode = PixelAlphaCompositionMode.DestAtop; |
|
|
|
actual.Antialias = false; |
|
|
|
actual.AntialiasSubpixelDepth = 23; |
|
|
|
actual.ApplyKerning = false; |
|
|
|
actual.BlendPercentage = .25F; |
|
|
|
actual.ColorBlendingMode = PixelColorBlendingMode.HardLight; |
|
|
|
actual.DpiX = 46F; |
|
|
|
actual.DpiY = 52F; |
|
|
|
actual.HorizontalAlignment = HorizontalAlignment.Center; |
|
|
|
actual.TabWidth = 3F; |
|
|
|
actual.VerticalAlignment = VerticalAlignment.Bottom; |
|
|
|
actual.WrapTextWidth = 42F; |
|
|
|
|
|
|
|
Assert.NotEqual(expected.AlphaCompositionMode, actual.AlphaCompositionMode); |
|
|
|
Assert.NotEqual(expected.Antialias, actual.Antialias); |
|
|
|
Assert.NotEqual(expected.AntialiasSubpixelDepth, actual.AntialiasSubpixelDepth); |
|
|
|
Assert.NotEqual(expected.ApplyKerning, actual.ApplyKerning); |
|
|
|
Assert.NotEqual(expected.BlendPercentage, actual.BlendPercentage); |
|
|
|
Assert.NotEqual(expected.ColorBlendingMode, actual.ColorBlendingMode); |
|
|
|
Assert.NotEqual(expected.DpiX, actual.DpiX); |
|
|
|
Assert.NotEqual(expected.DpiY, actual.DpiY); |
|
|
|
Assert.NotEqual(expected.HorizontalAlignment, actual.HorizontalAlignment); |
|
|
|
Assert.NotEqual(expected.TabWidth, actual.TabWidth); |
|
|
|
Assert.NotEqual(expected.VerticalAlignment, actual.VerticalAlignment); |
|
|
|
Assert.NotEqual(expected.WrapTextWidth, actual.WrapTextWidth); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void ExplicitCastOfGraphicsOptions() |
|
|
|
{ |
|
|
|
|