-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDoubleConvertersTests.cs
99 lines (85 loc) · 4.65 KB
/
DoubleConvertersTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
using NUnit.Framework;
using Shouldly;
using System;
namespace CodingSeb.Converters.Tests
{
[TestFixture]
public class DoubleConvertersTests
{
[Test]
public void DoubleAbsoluteValueConverter()
{
DoubleAbsoluteValueConverter converter = new DoubleAbsoluteValueConverter();
((double)converter.Convert(-100d, null, null, null)).ShouldBe(100d);
((double)converter.Convert(-48.5d, null, null, null)).ShouldBe(48.5d);
((double)converter.Convert(0d, null, null, null)).ShouldBe(0d);
((double)converter.Convert(48.5d, null, null, null)).ShouldBe(48.5d);
((double)converter.Convert(100d, null, null, null)).ShouldBe(100d);
}
[Test]
public void DoubleMinusValueConverter()
{
DoubleMinusValueConverter converter = new DoubleMinusValueConverter();
((double)converter.Convert(-100d, null, null, null)).ShouldBe(100d);
((double)converter.Convert(-48.5d, null, null, null)).ShouldBe(48.5d);
((double)converter.Convert(0d, null, null, null)).ShouldBe(0d);
((double)converter.Convert(48.5d, null, null, null)).ShouldBe(-48.5d);
((double)converter.Convert(100d, null, null, null)).ShouldBe(-100d);
}
[Test]
public void DoubleInverseValueConverter()
{
DoubleInverseValueConverter converter = new DoubleInverseValueConverter();
((double)converter.Convert(-5d, null, null, null)).ShouldBe(-0.2d);
((double)converter.Convert(-2d, null, null, null)).ShouldBe(-0.5d);
((double)converter.Convert(-1d, null, null, null)).ShouldBe(-1d);
((double)converter.Convert(-0.5d, null, null, null)).ShouldBe(-2d);
((double)converter.Convert(-0.25d, null, null, null)).ShouldBe(-4d);
((double)converter.Convert(0.25d, null, null, null)).ShouldBe(4d);
((double)converter.Convert(0.5d, null, null, null)).ShouldBe(2d);
((double)converter.Convert(1d, null, null, null)).ShouldBe(1);
((double)converter.Convert(2d, null, null, null)).ShouldBe(0.5);
((double)converter.Convert(5d, null, null, null)).ShouldBe(0.2);
}
[Test]
public void DoubleValuesSumMultiBindingConverter()
{
DoubleValuesSumMultiBindingConverter converter = new DoubleValuesSumMultiBindingConverter();
((double)converter.Convert(new object[] { 5.5 }, null, null, null)).ShouldBe(5.5);
((double)converter.Convert(new object[] { 5.5, 4.5 }, null, null, null)).ShouldBe(10d);
((double)converter.Convert(new object[] { 1d, 2d, 3d, -4d }, null, null, null)).ShouldBe(2d);
converter.AdditionalConstValueToAdd = 20d;
((double)converter.Convert(new object[] { 1d, 2d, 3d, -4d }, null, null, null)).ShouldBe(22d);
}
[Test]
public void DoubleValuesMultiplyMultiBindingConverter()
{
DoubleValuesMultiplyMultiBindingConverter converter = new DoubleValuesMultiplyMultiBindingConverter();
((double)converter.Convert(new object[] { 5.5 }, null, null, null)).ShouldBe(5.5);
((double)converter.Convert(new object[] { 5.5, 2d }, null, null, null)).ShouldBe(11d);
((double)converter.Convert(new object[] { 2d, -8d, 0.5 }, null, null, null)).ShouldBe(-8d);
converter.AdditionalConstValueToMultiply = -2d;
((double)converter.Convert(new object[] { 2d, -8d, 0.5 }, null, null, null)).ShouldBe(16d);
}
[Test]
public void DoubleMaxValueConverter()
{
DoubleMaxValueConverter converter = new DoubleMaxValueConverter() { MaxValue = 10d };
((double)converter.Convert(-10d, null, null, null)).ShouldBe(10d);
((double)converter.Convert(10d, null, null, null)).ShouldBe(10d);
((double)converter.Convert(150d, null, null, null)).ShouldBe(150d);
((double)converter.Convert(11d, null, null, null)).ShouldBe(11d);
((double)converter.Convert(0d, null, null, null)).ShouldBe(10d);
}
[Test]
public void DoubleMinValueConverter()
{
DoubleMinValueConverter converter = new DoubleMinValueConverter() { MinValue = 10d };
((double)converter.Convert(-10d, null, null, null)).ShouldBe(-10d);
((double)converter.Convert(10d, null, null, null)).ShouldBe(10d);
((double)converter.Convert(150d, null, null, null)).ShouldBe(10d);
((double)converter.Convert(9d, null, null, null)).ShouldBe(9d);
((double)converter.Convert(0d, null, null, null)).ShouldBe(0d);
}
}
}