A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/nunit/nunit-console/commit/fb9f9af53332dce3f7eb843a776a7008b6860448 below:

Merge pull request #1689 from nunit/issue-1678 · nunit/nunit-console@fb9f9af · GitHub

1 1

// Copyright (c) Charlie Poole, Rob Prouse and Contributors. MIT License - see LICENSE.txt

2 2 3 3

using System;

4 +

using System.Collections.Generic;

4 5

using System.ComponentModel;

6 +

using System.Linq;

5 7

using System.Reflection;

6 8

using NUnit.Engine.Extensibility;

7 9

using NUnit.Framework;

@@ -14,7 +16,8 @@ public class ExtensionAssemblyTrackerTests

14 16

private static readonly string THIS_ASSEMBLY_PATH = THIS_ASSEMBLY.Location;

15 17

private static readonly string THIS_ASSEMBLY_NAME = THIS_ASSEMBLY.GetName().Name;

16 18

private static readonly Version THIS_ASSEMBLY_VERSION = THIS_ASSEMBLY.GetName().Version;

17 -

private static readonly ExtensionAssembly TEST_EXTENSION_ASSEMBLY =

19 + 20 +

private static readonly ExtensionAssembly TEST_EXTENSION_ASSEMBLY =

18 21

new ExtensionAssembly(THIS_ASSEMBLY_PATH, false, THIS_ASSEMBLY_NAME, THIS_ASSEMBLY_VERSION);

19 22 20 23

private ExtensionAssemblyTracker _tracker;

@@ -28,52 +31,74 @@ public void CreateTracker()

28 31

[Test]

29 32

public void AddToList()

30 33

{

31 -

_tracker.Add(TEST_EXTENSION_ASSEMBLY);

34 +

_tracker.AddOrUpdate(TEST_EXTENSION_ASSEMBLY);

32 35 33 36

Assert.That(_tracker.Count, Is.EqualTo(1));

34 -

Assert.That(_tracker[0].FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));

35 -

Assert.That(_tracker[0].AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));

36 -

Assert.That(_tracker[0].AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));

37 +

var assembly = _tracker.Single();

38 + 39 +

Assert.That(assembly.FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));

40 +

Assert.That(assembly.AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));

41 +

Assert.That(assembly.AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));

37 42

}

38 43 39 44

[Test]

40 -

public void AddUpdatesNameIndex()

45 +

public void AddUpdatesPathIndex()

41 46

{

42 -

_tracker.Add(TEST_EXTENSION_ASSEMBLY);

47 +

_tracker.AddOrUpdate(TEST_EXTENSION_ASSEMBLY);

43 48 44 -

Assert.That(_tracker.ByName.ContainsKey(THIS_ASSEMBLY_NAME));

45 -

Assert.That(_tracker.ByName[THIS_ASSEMBLY_NAME].AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));

46 -

Assert.That(_tracker.ByName[THIS_ASSEMBLY_NAME].FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));

47 -

Assert.That(_tracker.ByName[THIS_ASSEMBLY_NAME].AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));

49 +

Assert.That(_tracker.ContainsPath(THIS_ASSEMBLY_PATH));

48 50

}

49 -

[Test]

50 -

public void AddUpdatesPathIndex()

51 -

{

52 -

_tracker.Add(TEST_EXTENSION_ASSEMBLY);

53 51 54 -

Assert.That(_tracker.ByPath.ContainsKey(THIS_ASSEMBLY_PATH));

55 -

Assert.That(_tracker.ByPath[THIS_ASSEMBLY_PATH].AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));

56 -

Assert.That(_tracker.ByPath[THIS_ASSEMBLY_PATH].FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));

57 -

Assert.That(_tracker.ByPath[THIS_ASSEMBLY_PATH].AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));

52 +

private static IEnumerable<TestCaseData> TestCasesAddNewerAssemblyUpdatesExistingInformation()

53 +

{

54 +

yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major + 1, THIS_ASSEMBLY_VERSION.Minor, THIS_ASSEMBLY_VERSION.Build));

55 +

yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major, THIS_ASSEMBLY_VERSION.Minor + 1, THIS_ASSEMBLY_VERSION.Build));

56 +

yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major, THIS_ASSEMBLY_VERSION.Minor, THIS_ASSEMBLY_VERSION.Build + 1));

58 57

}

59 58 60 -

[Test]

61 -

public void AddDuplicatePathThrowsArgumentException()

59 +

[TestCaseSource(nameof(TestCasesAddNewerAssemblyUpdatesExistingInformation))]

60 +

public void AddNewerAssemblyUpdatesExistingInformation(Version newVersion)

62 61

{

63 -

_tracker.Add(TEST_EXTENSION_ASSEMBLY);

62 +

_tracker.AddOrUpdate(TEST_EXTENSION_ASSEMBLY);

63 + 64 +

string newAssemblyPath = "/path/to/new/assembly";

65 +

var newerAssembly = new ExtensionAssembly(newAssemblyPath, false, THIS_ASSEMBLY_NAME, newVersion);

66 + 67 +

_tracker.AddOrUpdate(newerAssembly);

64 68 65 -

Assert.That(() =>

66 -

_tracker.Add(TEST_EXTENSION_ASSEMBLY),

67 -

Throws.TypeOf<System.ArgumentException>());

69 +

Assert.That(_tracker.Count, Is.EqualTo(1));

70 +

Assert.That(_tracker.ContainsPath(newAssemblyPath));

71 + 72 +

var assembly = _tracker.Single();

73 +

Assert.That(assembly.FilePath, Is.EqualTo(newAssemblyPath));

74 +

Assert.That(assembly.AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));

75 +

Assert.That(assembly.AssemblyVersion, Is.EqualTo(newVersion));

68 76

}

69 77 70 -

[Test]

71 -

public void AddDuplicateAssemblyNameThrowsArgumentException()

78 +

private static IEnumerable<TestCaseData> AddNewerAssemblyUpdatesExistingInformationTestCases()

79 +

{

80 +

yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major - 1, THIS_ASSEMBLY_VERSION.Minor, THIS_ASSEMBLY_VERSION.Build));

81 +

yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major, THIS_ASSEMBLY_VERSION.Minor - 1, THIS_ASSEMBLY_VERSION.Build));

82 +

yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major, THIS_ASSEMBLY_VERSION.Minor, THIS_ASSEMBLY_VERSION.Build));

83 +

}

84 + 85 +

[TestCaseSource(nameof(AddNewerAssemblyUpdatesExistingInformationTestCases))]

86 +

public void AddOlderOrSameAssemblyDoesNotUpdateExistingInformation(Version newVersion)

72 87

{

73 -

_tracker.Add(TEST_EXTENSION_ASSEMBLY);

88 +

_tracker.AddOrUpdate(TEST_EXTENSION_ASSEMBLY);

89 + 90 +

string newAssemblyPath = "/path/to/new/assembly";

91 +

var newerAssembly = new ExtensionAssembly(newAssemblyPath, false, THIS_ASSEMBLY_NAME, newVersion);

92 + 93 +

_tracker.AddOrUpdate(newerAssembly);

94 + 95 +

Assert.That(_tracker.Count, Is.EqualTo(1));

96 +

Assert.That(_tracker.ContainsPath(newAssemblyPath));

74 97 75 -

Assert.That(() => _tracker.Add(new ExtensionAssembly("Some/Other/Path", false, THIS_ASSEMBLY_NAME, THIS_ASSEMBLY_VERSION)),

76 -

Throws.TypeOf<System.ArgumentException>());

98 +

var assembly = _tracker.Single();

99 +

Assert.That(assembly.FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));

100 +

Assert.That(assembly.AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));

101 +

Assert.That(assembly.AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));

77 102

}

78 103

}

79 104

}


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4