Dreamine.FullKit.Wpf.Tests 1.0.0.0
Dreamine.FullKit.Wpf.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
CommunicationWpfTests.cs
이 파일의 문서화 페이지로 가기
1using System.Globalization;
2using System.Windows.Data;
3using System.Windows.Media;
4using Dreamine.Communication.Abstractions.Enums;
5using Dreamine.Communication.Wpf.Commands;
6using Dreamine.Communication.Wpf.Converters;
7using Dreamine.Communication.Wpf.Models;
8
10
19public sealed class CommunicationWpfTests
20{
29 [Fact]
31 {
32 var executedParameter = "";
33 var raised = false;
34 var command = new DelegateCommand(
35 parameter => executedParameter = (string)parameter!,
36 parameter => (string)parameter! == "ok");
37 command.CanExecuteChanged += (_, _) => raised = true;
38
39 command.Execute("ok");
40 command.RaiseCanExecuteChanged();
41
42 Assert.True(command.CanExecute("ok"));
43 Assert.False(command.CanExecute("no"));
44 Assert.Equal("ok", executedParameter);
45 Assert.True(raised);
46 }
47
56 [Fact]
58 {
59 var converter = new ConnectionStateBrushConverter();
60
61 Assert.Same(Brushes.ForestGreen, converter.Convert(ConnectionState.Connected, typeof(Brush), null!, CultureInfo.InvariantCulture));
62 Assert.Same(Brushes.DarkOrange, converter.Convert(ConnectionState.Connecting, typeof(Brush), null!, CultureInfo.InvariantCulture));
63 Assert.Same(Brushes.Firebrick, converter.Convert(ConnectionState.Faulted, typeof(Brush), null!, CultureInfo.InvariantCulture));
64 Assert.Same(Brushes.Gray, converter.Convert("bad", typeof(Brush), null!, CultureInfo.InvariantCulture));
65 Assert.Same(Binding.DoNothing, converter.ConvertBack(Brushes.Gray, typeof(ConnectionState), null!, CultureInfo.InvariantCulture));
66 }
67
76 [Fact]
78 {
79 var item = new CommunicationChannelViewItem();
80 var changed = new List<string?>();
81 item.PropertyChanged += (_, args) => changed.Add(args.PropertyName);
82
83 item.Name = "Main";
84 item.Name = "Main";
85 item.State = ConnectionState.Connected;
86
87 Assert.Equal(new[] { "Name", "State" }, changed);
88 }
89
98 [Fact]
100 {
101 var item = new CommunicationMessageLogItem
102 {
103 ChannelName = "Socket",
104 Kind = TransportKind.Tcp,
105 Direction = "TX",
106 MessageName = "Ping",
107 Route = "route",
108 PayloadLength = 3,
109 PayloadPreview = "abc"
110 };
111
112 Assert.Equal("Socket", item.ChannelName);
113 Assert.Equal(TransportKind.Tcp, item.Kind);
114 Assert.Equal("abc", item.PayloadPreview);
115 }
116}