Files
sqltoolsservice/test/Microsoft.SqlTools.Hosting.UnitTests/CommonObjects.cs
David Shiflet 839acf67cd Convert most tools service tests to nunit (#1037)
* Remove xunit dependency from testdriver

* swap expected/actual as needed

* Convert Test.Common to nunit

* port hosting unit tests to nunit

* port batchparser integration tests to nunit

* port testdriver.tests to nunit

* fix target to copy dependency

* port servicelayer unittests to nunit

* more unit test fixes

* port integration tests to nunit

* fix test method type

* try using latest windows build for PRs

* reduce test memory use
2020-08-05 13:43:14 -04:00

77 lines
3.1 KiB
C#

//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using Microsoft.SqlTools.Hosting.Contracts;
using Microsoft.SqlTools.Hosting.Contracts.Internal;
using Microsoft.SqlTools.Hosting.Protocol;
using Newtonsoft.Json.Linq;
using NUnit.Framework.Interfaces;
namespace Microsoft.SqlTools.Hosting.UnitTests
{
public static class CommonObjects
{
public const string MessageId = "123";
public static readonly RequestType<TestMessageContents, TestMessageContents> RequestType =
RequestType<TestMessageContents, TestMessageContents>.Create("test/request");
public static readonly EventType<TestMessageContents> EventType =
EventType<TestMessageContents>.Create("test/event");
public static readonly Message RequestMessage =
Message.CreateRequest(RequestType, MessageId, TestMessageContents.DefaultInstance);
public static readonly Message ResponseMessage =
Message.CreateResponse(MessageId, TestMessageContents.DefaultInstance);
public static readonly Message EventMessage =
Message.CreateEvent(EventType, TestMessageContents.DefaultInstance);
public static class TestErrorContents
{
public static readonly JToken SerializedContents = JToken.Parse("{\"code\": 123, \"message\": \"error\"}");
public static readonly Error DefaultInstance = new Error {Code = 123, Message = "error"};
}
public class TestMessageContents : IEquatable<TestMessageContents>
{
public const string JsonContents = "{\"someField\": \"Some value\", \"number\": 42}";
public static readonly JToken SerializedContents = JToken.Parse(JsonContents);
public static readonly TestMessageContents DefaultInstance = new TestMessageContents {Number = 42, SomeField = "Some value"};
public string SomeField { get; set; }
public int Number { get; set; }
public bool Equals(TestMessageContents other)
{
return string.Equals(SomeField, other.SomeField)
&& Number == other.Number;
}
public override bool Equals(object obj)
{
return Equals(obj as TestMessageContents);
}
public override int GetHashCode()
{
return SomeField.GetHashCode() ^ Number;
}
public static bool operator ==(TestMessageContents obj1, TestMessageContents obj2)
{
bool bothNull = ReferenceEquals(obj1, null) && ReferenceEquals(obj2, null);
bool someNull = ReferenceEquals(obj1, null) || ReferenceEquals(obj2, null);
return bothNull || !someNull && obj1.Equals(obj2);
}
public static bool operator !=(TestMessageContents obj1, TestMessageContents obj2)
{
return !(obj1 == obj2);
}
}
}
}