mirror of https://github.com/AMT-Cheif/Stylet.git
100 lines
2.8 KiB
C#
100 lines
2.8 KiB
C#
using NUnit.Framework;
|
|
using Stylet;
|
|
using System.Collections.Generic;
|
|
|
|
namespace StyletUnitTests
|
|
{
|
|
[TestFixture]
|
|
public class LabelledValueTests
|
|
{
|
|
[Test]
|
|
public void StoresLabelAndValue()
|
|
{
|
|
var lbv = new LabelledValue<int>("an int", 5);
|
|
Assert.AreEqual("an int", lbv.Label);
|
|
Assert.AreEqual(5, lbv.Value);
|
|
}
|
|
|
|
[Test]
|
|
public void SettingLabelAndValueRaisePropertyChangedNotifications()
|
|
{
|
|
var lbv = new LabelledValue<float>();
|
|
|
|
lbv.PropertyChangedDispatcher = a => a();
|
|
var changedProperties = new List<string>();
|
|
lbv.PropertyChanged += (o, e) => changedProperties.Add(e.PropertyName);
|
|
|
|
lbv.Label = "hello";
|
|
lbv.Value = 2.2f;
|
|
|
|
Assert.That(changedProperties, Is.EquivalentTo(new[] { "Label", "Value" }));
|
|
}
|
|
|
|
[Test]
|
|
public void EqualsIdenticalLabelledValues()
|
|
{
|
|
var lbv1 = new LabelledValue<int>("int", 5);
|
|
var lbv2 = new LabelledValue<int>("int", 5);
|
|
|
|
// Test both variants
|
|
Assert.That(lbv1.Equals(lbv2));
|
|
Assert.That(lbv1.Equals((object)lbv2));
|
|
}
|
|
|
|
[Test]
|
|
public void NotEqualLabeledValuesOfDifferentTypes()
|
|
{
|
|
var lbv1 = new LabelledValue<int>("test", 5);
|
|
var lbv2 = new LabelledValue<double>("test", 5.0);
|
|
|
|
Assert.False(lbv1.Equals(lbv2));
|
|
}
|
|
|
|
[Test]
|
|
public void NotEqualNull()
|
|
{
|
|
var lbv = new LabelledValue<int>("test", 5);
|
|
Assert.False(lbv.Equals(null));
|
|
}
|
|
|
|
[Test]
|
|
public void NotEqualDifferentLabel()
|
|
{
|
|
var lbv1 = new LabelledValue<int>("test", 5);
|
|
var lbv2 = new LabelledValue<int>("testy", 5);
|
|
Assert.IsFalse(lbv1.Equals(lbv2));
|
|
}
|
|
|
|
[Test]
|
|
public void NotEqualDifferentValues()
|
|
{
|
|
var lbv1 = new LabelledValue<int>("test", 5);
|
|
var lbv2 = new LabelledValue<int>("test", 6);
|
|
Assert.IsFalse(lbv1.Equals(lbv2));
|
|
}
|
|
|
|
[Test]
|
|
public void GetHashCodeSameForIdenticalLabelledValues()
|
|
{
|
|
var lbv1 = new LabelledValue<int>("int", 5);
|
|
var lbv2 = new LabelledValue<int>("int", 5);
|
|
|
|
Assert.AreEqual(lbv1.GetHashCode(), lbv2.GetHashCode());
|
|
}
|
|
|
|
[Test]
|
|
public void ToStringReturnsLabel()
|
|
{
|
|
var lbv = new LabelledValue<int>("label", 3);
|
|
Assert.AreEqual("label", lbv.ToString());
|
|
}
|
|
|
|
[Test]
|
|
public void CreateCreatesLabelledValue()
|
|
{
|
|
var lbv = LabelledValue.Create("test", 2.2f);
|
|
Assert.AreEqual(new LabelledValue<float>("test", 2.2f), lbv);
|
|
}
|
|
}
|
|
}
|