Added more unit tests.

This commit is contained in:
Paul Knopf 2019-04-16 07:39:10 -04:00
parent 90f6e74e7c
commit c503362e4e
2 changed files with 121 additions and 0 deletions

View file

@ -0,0 +1,50 @@
using Moq;
using Xunit;
namespace Qml.Net.Tests.Qml
{
public class MethodTests : BaseQmlTests<MethodTests.MethodTestsQml>
{
public class MethodTestsQml : MethodTestsQmlBase
{
public virtual void DerivedMethod()
{
}
}
public class MethodTestsQmlBase
{
public virtual void BaseMethod()
{
}
}
[Fact]
public void Can_call_base_method()
{
RunQmlTest(
"test",
@"
test.baseMethod()
");
Mock.Verify(x => x.BaseMethod(), Times.Once);
Mock.Verify(x => x.DerivedMethod(), Times.Never);
}
[Fact]
public void Can_call_derived_method()
{
RunQmlTest(
"test",
@"
test.derivedMethod()
");
Mock.Verify(x => x.BaseMethod(), Times.Never);
Mock.Verify(x => x.DerivedMethod(), Times.Once);
}
}
}

View file

@ -0,0 +1,71 @@
using Moq;
using Qml.Net.Internal.Qml;
using Xunit;
namespace Qml.Net.Tests.Qml
{
public class PropertyTests : BaseQmlTests<PropertyTests.PropertyTestsQml>
{
public class PropertyTestsQml : PropertyTestsQmlBase
{
public virtual bool DerivedProperty { get; set; }
}
public class PropertyTestsQmlBase
{
public virtual bool BaseProperty { get; set; }
}
[Fact]
public void Can_set_derived_property()
{
RunQmlTest(
"test",
@"
test.derivedProperty = true
");
Mock.VerifySet(x => x.DerivedProperty = true, Times.Once);
Mock.VerifySet(x => x.BaseProperty = true, Times.Never);
}
[Fact]
public void Can_get_derived_property()
{
RunQmlTest(
"test",
@"
var t = test.derivedProperty
");
Mock.VerifyGet(x => x.DerivedProperty, Times.Once);
Mock.VerifyGet(x => x.BaseProperty, Times.Never);
}
[Fact]
public void Can_set_base_property()
{
RunQmlTest(
"test",
@"
test.baseProperty = true
");
Mock.VerifySet(x => x.DerivedProperty = true, Times.Never);
Mock.VerifySet(x => x.BaseProperty = true, Times.Once);
}
[Fact]
public void Can_get_base_property()
{
RunQmlTest(
"test",
@"
var t = test.baseProperty
");
Mock.VerifyGet(x => x.DerivedProperty, Times.Never);
Mock.VerifyGet(x => x.BaseProperty, Times.Once);
}
}
}