Skip to content

Commit

Permalink
Added failing tests for AvaloniaUI#3371.
Browse files Browse the repository at this point in the history
  • Loading branch information
grokys committed Dec 19, 2019
1 parent fe2d2ac commit a0f72ff
Showing 1 changed file with 49 additions and 8 deletions.
57 changes: 49 additions & 8 deletions tests/Avalonia.Controls.UnitTests/ImageTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class ImageTests
[Fact]
public void Measure_Should_Return_Correct_Size_For_No_Stretch()
{
var bitmap = Mock.Of<IBitmap>(x => x.PixelSize == new PixelSize(50, 100));
var bitmap = CreateBitmap(50, 100);
var target = new Image();
target.Stretch = Stretch.None;
target.Source = bitmap;
Expand All @@ -26,7 +26,7 @@ public void Measure_Should_Return_Correct_Size_For_No_Stretch()
[Fact]
public void Measure_Should_Return_Correct_Size_For_Fill_Stretch()
{
var bitmap = Mock.Of<IBitmap>(x => x.PixelSize == new PixelSize(50, 100));
var bitmap = CreateBitmap(50, 100);
var target = new Image();
target.Stretch = Stretch.Fill;
target.Source = bitmap;
Expand All @@ -39,7 +39,7 @@ public void Measure_Should_Return_Correct_Size_For_Fill_Stretch()
[Fact]
public void Measure_Should_Return_Correct_Size_For_Uniform_Stretch()
{
var bitmap = Mock.Of<IBitmap>(x => x.PixelSize == new PixelSize(50, 100));
var bitmap = CreateBitmap(50, 100);
var target = new Image();
target.Stretch = Stretch.Uniform;
target.Source = bitmap;
Expand All @@ -52,7 +52,7 @@ public void Measure_Should_Return_Correct_Size_For_Uniform_Stretch()
[Fact]
public void Measure_Should_Return_Correct_Size_For_UniformToFill_Stretch()
{
var bitmap = Mock.Of<IBitmap>(x => x.PixelSize == new PixelSize(50, 100));
var bitmap = CreateBitmap(50, 100);
var target = new Image();
target.Stretch = Stretch.UniformToFill;
target.Source = bitmap;
Expand All @@ -62,10 +62,46 @@ public void Measure_Should_Return_Correct_Size_For_UniformToFill_Stretch()
Assert.Equal(new Size(50, 50), target.DesiredSize);
}

[Fact]
public void Measure_Should_Return_Correct_Size_For_Infinite_Height()
{
var bitmap = CreateBitmap(50, 100);
var image = new Image();
image.Source = bitmap;

image.Measure(new Size(200, double.PositiveInfinity));

Assert.Equal(new Size(200, 400), image.DesiredSize);
}

[Fact]
public void Measure_Should_Return_Correct_Size_For_Infinite_Width()
{
var bitmap = CreateBitmap(50, 100);
var image = new Image();
image.Source = bitmap;

image.Measure(new Size(double.PositiveInfinity, 400));

Assert.Equal(new Size(200, 400), image.DesiredSize);
}

[Fact]
public void Measure_Should_Return_Correct_Size_For_Infinite_Width_Height()
{
var bitmap = CreateBitmap(50, 100);
var image = new Image();
image.Source = bitmap;

image.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

Assert.Equal(new Size(50, 100), image.DesiredSize);
}

[Fact]
public void Arrange_Should_Return_Correct_Size_For_No_Stretch()
{
var bitmap = Mock.Of<IBitmap>(x => x.PixelSize == new PixelSize(50, 100));
var bitmap = CreateBitmap(50, 100);
var target = new Image();
target.Stretch = Stretch.None;
target.Source = bitmap;
Expand All @@ -79,7 +115,7 @@ public void Arrange_Should_Return_Correct_Size_For_No_Stretch()
[Fact]
public void Arrange_Should_Return_Correct_Size_For_Fill_Stretch()
{
var bitmap = Mock.Of<IBitmap>(x => x.PixelSize == new PixelSize(50, 100));
var bitmap = CreateBitmap(50, 100);
var target = new Image();
target.Stretch = Stretch.Fill;
target.Source = bitmap;
Expand All @@ -93,7 +129,7 @@ public void Arrange_Should_Return_Correct_Size_For_Fill_Stretch()
[Fact]
public void Arrange_Should_Return_Correct_Size_For_Uniform_Stretch()
{
var bitmap = Mock.Of<IBitmap>(x => x.PixelSize == new PixelSize(50, 100));
var bitmap = CreateBitmap(50, 100);
var target = new Image();
target.Stretch = Stretch.Uniform;
target.Source = bitmap;
Expand All @@ -107,7 +143,7 @@ public void Arrange_Should_Return_Correct_Size_For_Uniform_Stretch()
[Fact]
public void Arrange_Should_Return_Correct_Size_For_UniformToFill_Stretch()
{
var bitmap = Mock.Of<IBitmap>(x => x.PixelSize == new PixelSize(50, 100));
var bitmap = CreateBitmap(50, 100);
var target = new Image();
target.Stretch = Stretch.UniformToFill;
target.Source = bitmap;
Expand All @@ -117,5 +153,10 @@ public void Arrange_Should_Return_Correct_Size_For_UniformToFill_Stretch()

Assert.Equal(new Size(25, 100), target.Bounds.Size);
}

private IBitmap CreateBitmap(int width, int height)
{
return Mock.Of<IBitmap>(x => x.PixelSize == new PixelSize(width, height));
}
}
}

0 comments on commit a0f72ff

Please sign in to comment.