/
diev
/
mRemoteNG
Обзор
Документация
Войти
/
diev
/
mRemoteNG
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
mRemoteNGTests/Connection/DefaultConnectionInheritanceTests.cs
63 строки
3 KB
David Sparer
strongly typed the clone method for inheritance info objects
01 апр 2019, 19:54
01 апр 2019, 19:54
e17d0e9
Код
Авторство
О чём код?
using System.Collections.Generic; using System.Reflection; using mRemoteNG.Connection; using NUnit.Framework; namespace mRemoteNGTests.Connection { public class DefaultConnectionInheritanceTests { [TestCaseSource(nameof(GetInheritanceProperties))] public void LoadingDefaultInheritanceUpdatesAllProperties(PropertyInfo property) { var inheritanceSource = new ConnectionInfoInheritance(new ConnectionInfo(), true); inheritanceSource.TurnOnInheritanceCompletely(); DefaultConnectionInheritance.Instance.TurnOffInheritanceCompletely(); DefaultConnectionInheritance.Instance.LoadFrom(inheritanceSource); var valueInDestination = property.GetValue(DefaultConnectionInheritance.Instance); var valueInSource = property.GetValue(inheritanceSource); Assert.That(valueInDestination, Is.EqualTo(valueInSource)); } [TestCaseSource(nameof(GetInheritanceProperties))] public void SavingDefaultInheritanceExportsAllProperties(PropertyInfo property) { var saveTarget = new ConnectionInfoInheritance(new ConnectionInfo(), true); saveTarget.TurnOffInheritanceCompletely(); DefaultConnectionInheritance.Instance.TurnOnInheritanceCompletely(); DefaultConnectionInheritance.Instance.SaveTo(saveTarget); var valueInDestination = property.GetValue(saveTarget); var valueInSource = property.GetValue(DefaultConnectionInheritance.Instance); Assert.That(valueInDestination, Is.EqualTo(valueInSource)); } [Test] public void NewInheritanceInstancesCreatedWithDefaultInheritanceValues() { DefaultConnectionInheritance.Instance.Domain = true; var inheritanceInstance = new ConnectionInfoInheritance(new ConnectionInfo()); Assert.That(inheritanceInstance.Domain, Is.True); } [TestCaseSource(nameof(GetInheritanceProperties))] public void NewInheritanceInstancesCreatedWithAllDefaultInheritanceValues(PropertyInfo property) { DefaultConnectionInheritance.Instance.TurnOnInheritanceCompletely(); var inheritanceInstance = new ConnectionInfoInheritance(new ConnectionInfo()); var valueInDestination = property.GetValue(inheritanceInstance); var valueInSource = property.GetValue(DefaultConnectionInheritance.Instance); Assert.That(valueInDestination, Is.EqualTo(valueInSource)); } private static IEnumerable<PropertyInfo> GetInheritanceProperties() { return new ConnectionInfoInheritance(new ConnectionInfo(), true).GetProperties(); } } }