PdfPig/src/UglyToad.PdfPig.Tests/Graphics/Operations/SpecialGraphicsState/PopTests.cs

50 lines
1.2 KiB
C#
Raw Normal View History

namespace UglyToad.PdfPig.Tests.Graphics.Operations.SpecialGraphicsState
{
using PdfPig.Graphics;
using PdfPig.Graphics.Operations.SpecialGraphicsState;
public class PopTests
{
private readonly TestOperationContext context = new TestOperationContext();
[Fact]
public void PopSymbolCorrect()
{
Assert.Equal("Q", Pop.Symbol);
Assert.Equal("Q", Pop.Value.Operator);
}
[Fact]
public void CannotPopWithSingleFrame()
{
2019-01-04 06:20:53 +08:00
Action action = () => Pop.Value.Run(context);
Assert.Throws<InvalidOperationException>(action);
}
[Fact]
public void CannotPopWithNoFrames()
{
context.StateStack.Pop();
2019-01-04 06:20:53 +08:00
Action action = () => Pop.Value.Run(context);
Assert.Throws<InvalidOperationException>(action);
}
[Fact]
public void PopsTopFrame()
{
context.StateStack.Push(new CurrentGraphicsState
{
LineWidth = 23
});
2019-01-04 06:20:53 +08:00
Pop.Value.Run(context);
Assert.Equal(1, context.StackSize);
Assert.Equal(1, context.GetCurrentState().LineWidth);
}
}
}