📄 unittest.cs
字号:
Assert.AreEqual(0 / 255f, rgb.blue);
Assert.AreEqual(0 / 255f, rgb.green);
Assert.AreEqual(0 / 255f, rgb.red);
rgb = new FIRGBF(Color.Chartreuse);
Assert.That(EqualColors(Color.Chartreuse, rgb.Color));
rgb = new FIRGBF(Color.FromArgb(133, 83, 95, 173));
Assert.AreEqual(173 / 255f, rgb.blue);
Assert.AreEqual(95 / 255f, rgb.green);
Assert.AreEqual(83 / 255f, rgb.red);
rgb.Color = Color.Crimson;
Assert.That(EqualColors(Color.Crimson, rgb.Color));
rgb.Color = Color.MidnightBlue;
Assert.That(EqualColors(Color.MidnightBlue, rgb.Color));
rgb.Color = Color.White;
Assert.AreEqual(255 / 255f, rgb.blue);
Assert.AreEqual(255 / 255f, rgb.green);
Assert.AreEqual(255 / 255f, rgb.red);
rgb.Color = Color.Black;
Assert.AreEqual(0 / 255f, rgb.blue);
Assert.AreEqual(0 / 255f, rgb.green);
Assert.AreEqual(0 / 255f, rgb.red);
rgb = Color.DarkGoldenrod;
Color color = rgb;
Assert.That(EqualColors(Color.DarkGoldenrod, color));
}
[Test]
public void FIRGBAF()
{
FIRGBAF rgb = new FIRGBAF();
Assert.AreEqual(0 / 255f, rgb.blue);
Assert.AreEqual(0 / 255f, rgb.green);
Assert.AreEqual(0 / 255f, rgb.red);
Assert.AreEqual(0 / 255f, rgb.alpha);
rgb = new FIRGBAF(Color.Chartreuse);
Assert.That(EqualColors(Color.Chartreuse, rgb.Color));
rgb = new FIRGBAF(Color.FromArgb(133, 83, 95, 173));
Assert.AreEqual(173 / 255f, rgb.blue);
Assert.AreEqual(95 / 255f, rgb.green);
Assert.AreEqual(83 / 255f, rgb.red);
Assert.AreEqual(133 / 255f, rgb.alpha);
rgb.Color = Color.Crimson;
Assert.That(EqualColors(Color.Crimson, rgb.Color));
rgb.Color = Color.MidnightBlue;
Assert.That(EqualColors(Color.MidnightBlue, rgb.Color));
rgb.Color = Color.White;
Assert.AreEqual(255 / 255f, rgb.blue);
Assert.AreEqual(255 / 255f, rgb.green);
Assert.AreEqual(255 / 255f, rgb.red);
Assert.AreEqual(255 / 255f, rgb.alpha);
rgb.Color = Color.Black;
Assert.AreEqual(0 / 255f, rgb.blue);
Assert.AreEqual(0 / 255f, rgb.green);
Assert.AreEqual(0 / 255f, rgb.red);
Assert.AreEqual(255 / 255f, rgb.alpha);
rgb = Color.DarkGoldenrod;
Color color = rgb;
Assert.That(EqualColors(Color.DarkGoldenrod, color));
}
[Ignore]
public void FICOMPLEX()
{
}
[Test]
public void FIBITMAP()
{
FIBITMAP var = new FIBITMAP();
Assert.IsTrue(var.IsNull);
var = 41;
Assert.IsFalse(var.IsNull);
var = 0;
Assert.IsTrue(var.IsNull);
var = new IntPtr(654321);
Assert.AreEqual(654321, var);
var = IntPtr.Zero;
Assert.AreEqual(0, var);
var = 654321;
FIBITMAP compVar = var;
Assert.AreEqual(654321, compVar);
Assert.AreEqual(var, compVar);
var = 733;
compVar = 733;
Assert.AreEqual(var, compVar);
Assert.AreEqual(0, var.CompareTo(compVar));
Assert.AreEqual(0, var.CompareTo((object)compVar));
compVar = 33;
Assert.AreEqual(1, var.CompareTo(compVar));
Assert.AreEqual(1, var.CompareTo((object)compVar));
compVar = 9999;
Assert.AreEqual(-1, var.CompareTo(compVar));
Assert.AreEqual(-1, var.CompareTo((object)compVar));
var = 1000;
compVar = 1000;
Assert.IsTrue(var == compVar);
Assert.IsFalse(var != compVar);
Assert.IsTrue(var.Equals(compVar));
Assert.IsTrue(var.Equals((object)compVar));
Assert.That(var.CompareTo(compVar) == 0);
Assert.That(var.CompareTo((object)compVar) == 0);
compVar = 2000;
Assert.IsFalse(var == compVar);
Assert.IsTrue(var != compVar);
Assert.IsFalse(var.Equals(compVar));
Assert.IsFalse(var.Equals((object)compVar));
Assert.That(var.CompareTo(compVar) < 0);
Assert.That(var.CompareTo((object)compVar) < 0);
compVar = 500;
Assert.That(var.CompareTo(compVar) > 0);
Assert.That(var.CompareTo((object)compVar) > 0);
}
[Test]
public void fi_handle()
{
fi_handle var = new fi_handle();
Assert.IsTrue(var.IsNull);
string test = "hello word!";
using (var = new fi_handle(test))
{
Assert.IsFalse(var.IsNull);
object obj = var.GetObject();
Assert.That(obj is string);
Assert.AreSame(obj, test);
}
}
[Test]
public void FIICCPROFILE()
{
Random rand = new Random(DateTime.Now.Millisecond);
FIICCPROFILE var = new FIICCPROFILE();
Assert.AreEqual(0, var.Data.Length);
Assert.AreEqual(IntPtr.Zero, var.DataPointer);
Assert.AreEqual(0, var.Size);
dib = iManager.GetBitmap(ImageType.Odd, ImageColorType.Type_24);
Assert.AreNotEqual(0, dib);
byte[] data = new byte[512];
rand.NextBytes(data);
var = FreeImage.GetICCProfileEx(dib);
Assert.AreEqual(0, var.Size);
var = new FIICCPROFILE(dib, data, 256);
Assert.AreEqual(256, var.Data.Length);
Assert.AreNotEqual(IntPtr.Zero, var.DataPointer);
Assert.AreEqual(256, var.Size);
byte[] dataComp = var.Data;
for (int i = 0; i < data.Length && i < dataComp.Length; i++)
if (data[i] != dataComp[i])
Assert.Fail();
FreeImage.DestroyICCProfile(dib);
var = FreeImage.GetICCProfileEx(dib);
Assert.AreEqual(0, var.Size);
var = new FIICCPROFILE(dib, data);
Assert.AreEqual(512, var.Data.Length);
Assert.AreNotEqual(IntPtr.Zero, var.DataPointer);
Assert.AreEqual(512, var.Size);
dataComp = var.Data;
for (int i = 0; i < data.Length && i < dataComp.Length; i++)
if (data[i] != dataComp[i])
Assert.Fail();
var = FreeImage.GetICCProfileEx(dib);
Assert.AreEqual(512, var.Data.Length);
Assert.AreNotEqual(IntPtr.Zero, var.DataPointer);
Assert.AreEqual(512, var.Size);
FreeImage.DestroyICCProfile(dib);
var = FreeImage.GetICCProfileEx(dib);
Assert.AreEqual(0, var.Size);
FreeImage.UnloadEx(ref dib);
}
}
[TestFixture]
public class WrapperStructsTest
{
ImageManager iManager = new ImageManager();
FIBITMAP dib = 0;
string freeImageCallback = null;
[TestFixtureSetUp]
public void Init()
{
FreeImage.Message += new OutputMessageFunction(FreeImage_Message);
}
[TestFixtureTearDown]
public void DeInit()
{
FreeImage.Message -= new OutputMessageFunction(FreeImage_Message);
}
[SetUp]
public void InitEachTime()
{
}
[TearDown]
public void DeInitEachTime()
{
}
void FreeImage_Message(FREE_IMAGE_FORMAT fif, string message)
{
freeImageCallback = message;
}
public bool EqualColors(Color color1, Color color2)
{
if (color1.A != color2.A) return false;
if (color1.R != color2.R) return false;
if (color1.G != color2.G) return false;
if (color1.B != color2.B) return false;
return true;
}
[Test]
public void FIRational()
{
FIRational rational1 = new FIRational();
FIRational rational2 = new FIRational();
FIRational rational3 = new FIRational();
//
// Constructors
//
Assert.That(rational1.Numerator == 0);
Assert.That(rational1.Denominator == 0);
rational1 = new FIRational(412, 33);
Assert.That(rational1.Numerator == 412);
Assert.That(rational1.Denominator == 33);
rational2 = new FIRational(rational1);
Assert.That(rational2.Numerator == 412);
Assert.That(rational2.Denominator == 33);
rational3 = new FIRational(5.75m);
Assert.That(rational3.Numerator == 23);
Assert.That(rational3.Denominator == 4);
//
// == !=
//
rational1 = new FIRational(421, 51);
rational2 = rational1;
Assert.That(rational1 == rational2);
Assert.That(!(rational1 != rational2));
rational2 = new FIRational(1, 7);
Assert.That(rational1 != rational2);
Assert.That(!(rational1 == rational2));
//
// > >= < <=
//
rational1 = new FIRational(51, 4);
rational2 = new FIRational(27, 9);
Assert.That(rational1 != rational2);
Assert.That(rational1 > rational2);
Assert.That(rational1 >= rational2);
rational1 = new FIRational(-412, 4);
Assert.That(rational1 != rational2);
Assert.That(rational1 < rational2);
Assert.That(rational1 <= rational2);
//
// + / -
//
rational1 = new FIRational(41, 3);
rational2 = new FIRational(612, 412);
rational3 = rational1 - rational2;
Assert.That((rational3 + rational2) == rational1);
rational1 = new FIRational(-7852, 63);
rational2 = new FIRational(666111, -7654);
rational3 = rational1 - rational2;
Assert.That((rational3 + rational2) == rational1);
rational1 = new FIRational(-513, 88);
rational2 = new FIRational(413, 5);
rational3 = rational1 - rational2;
Assert.That((rational3 + rational2) == rational1);
rational1 = new FIRational(-513, 88);
rational2 = new FIRational(413, 5);
rational3 = rational1 - rational2;
Assert.That((rational3 + rational2) == rational1);
rational1 = new FIRational(7531, 23144);
rational2 = new FIRational(-412, 78777);
rational3 = rational1 - rational2;
Assert.That((rational3 + rational2) == rational1);
rational1 = new FIRational(513, -42123);
rational2 = new FIRational(-42, 77);
rational3 = rational1 - rational2;
Assert.That((rational3 + rational2) == rational1);
rational1 = new FIRational(44, 11);
rational1 = -rational1;
Assert.That(rational1.Numerator == -4 && rational1.Denominator == 1);
//
// %
//
rational1 = new FIRational(23, 8);
rational2 = new FIRational(77, 777);
Assert.That((rational1 % rational2) == 0);
rational2 = -rational2;
Assert.That((rational1 % rational2) == 0);
rational2 = new FIRational(7, 4);
rational3 = new FIRational(9, 8);
Assert.That((rational1 % rational2) == rational3);
rational2 = -rational2;
Assert.That((rational1 % rational2) == rational3);
//
// ~
//
rational1 = new FIRational(41, 77);
rational1 = ~rational1;
Assert.That(rational1.Numerator == 77 && rational1.Denominator == 41);
//
// -
//
rational1 = new FIRational(52, 4);
rational1 = -rational1;
Assert.That(rational1 < 0);
//
// ++ --
//
rational1 = new FIRational(5, 3);
rational1++;
rational2 = new FIRational(8, 3);
Assert.That(rational1 == rational2);
rational1 = new FIRational(41, -43);
rational1++;
Assert.That(rational1 > 0.0f);
rational1--;
Assert.That(rational1 == new FIRational(41, -43));
rational1 = new FIRational(8134, 312);
Assert.That(rational1 != 26);
//
// Direct assigns
//
rational1 = (FIRational)0.75m;
Assert.That(rational1.Numerator == 3 && rational1.Denominator == 4);
rational1 = (FIRational)0.33;
Assert.That(rational1.Numerator == 33 && rational1.Denominator == 100);
rational1 = (FIRational)62.975m;
Assert.That(((decimal)rational1.Numerator / (decimal)rational1.Denominator) == 62.975m);
rational1 = (FIRational)(-73.0975m);
Assert.That(((decimal)rational1.Numerator / (decimal)rational1.Denominator) == -73.0975m);
rational1 = (FIRational)(7m / 9m);
Assert.That(rational1.Numerator == 7 && rational1.Denominator == 9);
rational1 = (FIRational)(-15m / 9m);
Assert.That(rational1.Numerator == -5 && rational1.Denominator == 3);
rational1 = (FIRational)(0.7777m);
Assert.That(rational1.Denominator != 9);
//
// Properties
//
rational1 = new FIRational(515, 5);
Assert.That(rational1.IsInteger);
rational1 = new FIRational(876, 77);
Assert.That(rational1.Truncate() == (876 / 77));
//
// Special cases
//
rational1 = new FIRational(0, 10000);
Assert.That(rational1 == 0m);
rational1 = new FIRational(10000, 0);
Assert.That(rational1 == 0f);
rational1 = new FIRational(0, 0);
Assert.That(rational1 == 0d);
rational1 = new FIRational(-1, 0);
Assert.That(rational1 == 0);
rational1 = new FIRational(0, -1);
Assert.That(rational1 == 0);
}
[Ignore]
public void StreamWrapper()
{
string url = @"http://freeimage.sourceforge.net/ima
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -