1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-08 03:27:04 +09:00
Satori/src/libraries/System.CodeDom/tests/System/CodeDom/CodeAttachEventStatementTests.cs
2022-07-10 04:03:08 -07:00

73 lines
3.4 KiB
C#

// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using System.Collections.Generic;
using Xunit;
namespace System.CodeDom.Tests
{
public class CodeAttachEventStatementTests : CodeStatementTestBase<CodeAttachEventStatement>
{
[Fact]
public void Ctor_Default()
{
var attachEvent = new CodeAttachEventStatement();
Assert.Empty(attachEvent.Event.EventName);
Assert.Null(attachEvent.Event.TargetObject);
Assert.Null(attachEvent.Listener);
}
public static IEnumerable<object[]> Ctor_CodeExpression_String_CodeExpression_TestData()
{
yield return new object[] { null, null, null };
yield return new object[] { new CodePrimitiveExpression("Value1"), "EventName", new CodePrimitiveExpression("Value2") };
}
[Theory]
[MemberData(nameof(Ctor_CodeExpression_String_CodeExpression_TestData))]
public void Ctor_CodeExpression_String_CodeExpression(CodeExpression targetObject, string eventName, CodeExpression listener)
{
var attachEvent = new CodeAttachEventStatement(targetObject, eventName, listener);
Assert.Equal(targetObject, attachEvent.Event.TargetObject);
Assert.Equal(eventName ?? string.Empty, attachEvent.Event.EventName);
Assert.Equal(listener, attachEvent.Listener);
}
public static IEnumerable<object[]> CodeEventReferenceExpression_CodeExpression_TestData()
{
yield return new object[] { null, null };
yield return new object[] { new CodeEventReferenceExpression(null, null), null };
yield return new object[] { new CodeEventReferenceExpression(new CodePrimitiveExpression("Value1"), "EventName"), new CodePrimitiveExpression("Value2") };
}
[Theory]
[MemberData(nameof(CodeEventReferenceExpression_CodeExpression_TestData))]
public void Ctor_CodeEventReferenceExpression_CodeExpression(CodeEventReferenceExpression eventExpression, CodeExpression listener)
{
var attachEvent = new CodeAttachEventStatement(eventExpression, listener);
Assert.Equal((eventExpression ?? new CodeEventReferenceExpression()).TargetObject, attachEvent.Event.TargetObject);
Assert.Equal((eventExpression ?? new CodeEventReferenceExpression()).EventName, attachEvent.Event.EventName);
Assert.Equal(listener, attachEvent.Listener);
}
[Theory]
[MemberData(nameof(CodeEventReferenceExpression_CodeExpression_TestData))]
public void Event_Set_Get_ReturnsExpected(CodeEventReferenceExpression value, CodeExpression listener)
{
_ = listener;
var attachEvent = new CodeAttachEventStatement();
attachEvent.Event = value;
Assert.Equal((value ?? new CodeEventReferenceExpression()).TargetObject, attachEvent.Event.TargetObject);
Assert.Equal((value ?? new CodeEventReferenceExpression()).EventName, attachEvent.Event.EventName);
}
[Theory]
[MemberData(nameof(CodeExpression_TestData))]
public void Listener_Set_Get_ReturnsExpected(CodeExpression value)
{
var attachEvent = new CodeAttachEventStatement();
attachEvent.Listener = value;
Assert.Equal(value, attachEvent.Listener);
}
}
}