Dreamine.FullKit.Wpf.Tests 1.0.0.0
Dreamine.FullKit.Wpf.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.FullKit.Wpf.Tests.Threading.ThreadingWpfTests 클래스 참조sealed

더 자세히 ...

클래스

class  TestThreadUiDispatcher
class  TestThreadManager

Public 멤버 함수

void ThreadConverters_MapKnownValues ()
void ThreadInfoRow_UpdatesChangedFieldsAndDerivedFlags ()
void WindowsCpuInfoProvider_ReportsValidProcessorRange ()
void ThreadMonitorViewModel_AcceptsDispatcherAbstraction ()

정적 Private 멤버 함수

static DreamineThreadInfo CreateInfo (DreamineThreadStatus status, long cycles)

상세한 설명

Threading Wpf Tests 기능과 관련 상태를 캡슐화합니다.

ThreadingWpfTests.cs 파일의 22 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ CreateInfo()

DreamineThreadInfo Dreamine.FullKit.Wpf.Tests.Threading.ThreadingWpfTests.CreateInfo ( DreamineThreadStatus status,
long cycles )
inlinestaticprivate

Info 값을 생성합니다.

매개변수
statusstatus에 사용할 DreamineThreadStatus 값입니다.
cyclescycles에 사용할 long 값입니다.
반환값
Create Info 작업에서 생성한 DreamineThreadInfo 결과입니다.

ThreadingWpfTests.cs 파일의 141 번째 라인에서 정의되었습니다.

142 {
143 return new DreamineThreadInfo(
144 "Worker",
145 status,
146 DreamineThreadPriority.Normal,
147 intervalMs: 10,
148 coreIndex: null,
149 useAffinity: false,
150 jobCount: 1,
151 cycleCount: cycles,
152 startedAt: null,
153 stoppedAt: null,
154 lastErrorMessage: null);
155 }

다음에 의해서 참조됨 : ThreadInfoRow_UpdatesChangedFieldsAndDerivedFlags().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ThreadConverters_MapKnownValues()

void Dreamine.FullKit.Wpf.Tests.Threading.ThreadingWpfTests.ThreadConverters_MapKnownValues ( )
inline

Thread Converters Map Known Values 작업을 수행합니다.

ThreadingWpfTests.cs 파일의 33 번째 라인에서 정의되었습니다.

34 {
35 var statusConverter = new ThreadStatusBrushConverter();
36 var priorityConverter = new ThreadPriorityTextConverter();
37
38 Assert.Same(Brushes.ForestGreen, statusConverter.Convert(DreamineThreadStatus.Running, typeof(Brush), null!, CultureInfo.InvariantCulture));
39 Assert.Same(Brushes.Crimson, statusConverter.Convert(DreamineThreadStatus.Faulted, typeof(Brush), null!, CultureInfo.InvariantCulture));
40 Assert.Same(Brushes.Gray, statusConverter.Convert("bad", typeof(Brush), null!, CultureInfo.InvariantCulture));
41 Assert.Equal("High", priorityConverter.Convert(DreamineThreadPriority.High, typeof(string), null!, CultureInfo.InvariantCulture));
42 Assert.Equal(string.Empty, priorityConverter.Convert("bad", typeof(string), null!, CultureInfo.InvariantCulture));
43 Assert.Same(Binding.DoNothing, priorityConverter.ConvertBack("", typeof(DreamineThreadPriority), null!, CultureInfo.InvariantCulture));
44 }

◆ ThreadInfoRow_UpdatesChangedFieldsAndDerivedFlags()

void Dreamine.FullKit.Wpf.Tests.Threading.ThreadingWpfTests.ThreadInfoRow_UpdatesChangedFieldsAndDerivedFlags ( )
inline

Thread Info Row Updates Changed Fields And Derived Flags 작업을 수행합니다.

ThreadingWpfTests.cs 파일의 55 번째 라인에서 정의되었습니다.

56 {
57 var row = new ThreadInfoRow(CreateInfo(DreamineThreadStatus.Created, cycles: 1));
58 var changed = new List<string?>();
59 row.PropertyChanged += (_, args) => changed.Add(args.PropertyName);
60
61 var updated = row.UpdateFrom(CreateInfo(DreamineThreadStatus.Running, cycles: 2));
62
63 Assert.True(updated);
64 Assert.Equal(DreamineThreadStatus.Running, row.Status);
65 Assert.True(row.IsRunning);
66 Assert.Contains(nameof(ThreadInfoRow.Status), changed);
67 Assert.Contains(nameof(ThreadInfoRow.CycleCount), changed);
68 Assert.Contains(nameof(ThreadInfoRow.IsRunning), changed);
69 }

다음을 참조함 : CreateInfo().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ ThreadMonitorViewModel_AcceptsDispatcherAbstraction()

void Dreamine.FullKit.Wpf.Tests.Threading.ThreadingWpfTests.ThreadMonitorViewModel_AcceptsDispatcherAbstraction ( )
inline

Thread Monitor View Model Accepts Dispatcher Abstraction 작업을 수행합니다.

ThreadingWpfTests.cs 파일의 99 번째 라인에서 정의되었습니다.

100 {
101 using var viewModel = new DreamineThreadMonitorViewModel(
102 new TestThreadManager(),
103 new TestThreadUiDispatcher(),
104 TimeSpan.FromSeconds(1));
105
106 Assert.Empty(viewModel.Threads);
107 }

◆ WindowsCpuInfoProvider_ReportsValidProcessorRange()

void Dreamine.FullKit.Wpf.Tests.Threading.ThreadingWpfTests.WindowsCpuInfoProvider_ReportsValidProcessorRange ( )
inline

Windows Cpu Info Provider Reports Valid Processor Range 작업을 수행합니다.

ThreadingWpfTests.cs 파일의 80 번째 라인에서 정의되었습니다.

81 {
82 ICpuInfoProvider provider = new WindowsCpuInfoProvider();
83
84 Assert.True(provider.GetLogicalProcessorCount() >= 1);
85 Assert.True(provider.IsValidCoreIndex(0));
86 Assert.False(provider.IsValidCoreIndex(-1));
87 Assert.False(provider.IsValidCoreIndex(provider.GetLogicalProcessorCount()));
88 }

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: