Ejemplo n.º 1
0
        public void Test_Convert_ToUri_FromAnsi()
        {
            // ドロップテストデータ
            var url = "https://www.google.com";

            // モック
            var dataMock = new TestDataObject();

            dataMock.Setup_GetDataPresent("UniformResourceLocator", () => true);
            dataMock.Setup_GetData("UniformResourceLocator", () => new MemoryStream(Encoding.ASCII.GetBytes(url)));

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object);

            // テストデータを期待値の型に変換しておく
            var expects = new Uri(url);

            // 変換テスト
            var target = new DragEventArgsToUrlConverter();

            target.ConvertToUri = true;
            target.Convert(args, null, null, null)
            .Should().BeOfType <Uri>()
            .Which
            .Should().Be(expects);
        }
Ejemplo n.º 2
0
        public void Test_Convert_ToString_Fallback2()
        {
            // ドロップテストデータ
            var url = "https://www.google.com";

            // モック
            var resourceMock = new Mock <IDisposable>();

            resourceMock.Setup(m => m.Dispose()).Throws(new Exception());
            var dataMock = new TestDataObject();

            dataMock.Setup_GetDataPresent("UniformResourceLocatorW", () => true);
            dataMock.Setup_GetDataPresent("UniformResourceLocator", () => true);
            dataMock.Setup_GetData("UniformResourceLocatorW", () => resourceMock.Object);
            dataMock.Setup_GetData("UniformResourceLocator", () => new MemoryStream(Encoding.ASCII.GetBytes(url)));

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object);

            // 変換テスト
            var target = new DragEventArgsToUrlConverter();

            target.ConvertToUri = false;
            target.Convert(args, null, null, null)
            .Should().BeOfType <string>()
            .Which
            .Should().Be(url);
        }
Ejemplo n.º 3
0
        public void Remote_Stream_Throws_InvalidOperationException_If_No_Index_Specified_In_Query()
        {
            // Arrange
            var testObj = new TestDataObject() { Name = "Test1" };
            var testObj1 = new TestDataObject() { Name = "Test2" };

            using (var docStore = NewRemoteDocumentStore())
            using (var session = docStore.OpenSession())
            {
                InsertTestData(session, testObj, testObj1);

                // Act
                var query = session.Query<TestDataObject>();

                // Assert: (1) Underlying query doesn't throw and (2) Stream doesn't throw
                Assert.DoesNotThrow(() =>
                {
                    var list = query.ToList();
                });


                //stream query with no existing index/only dynamic index should throw no index exist exception
                Assert.Throws<InvalidOperationException>(() =>
                {
// ReSharper disable once AccessToDisposedClosure
                    session.Advanced.Stream(query);
                });				
            }
        }
        public async Task DialogFlowUseCases(TestDataObject testData)
        {
            // Arrange
            var bookingTestData = testData.GetObject <BookingDialogTestCase>();
            var sut             = new BookingDialog();
            var testClient      = new DialogTestClient(Channels.Test, sut, bookingTestData.InitialBookingDetails, _middlewares);

            // Execute the test case
            Output.WriteLine($"Test Case: {bookingTestData.Name}");
            for (var i = 0; i < bookingTestData.UtterancesAndReplies.GetLength(0); i++)
            {
                IMessageActivity reply;
                if (bookingTestData.UtterancesAndReplies[i, 0] != "")
                {
                    reply = await testClient.SendActivityAsync <IMessageActivity>(bookingTestData.UtterancesAndReplies[i, 0]);
                }
                else
                {
                    reply = testClient.GetNextReply <IMessageActivity>();
                }
                Assert.Equal(bookingTestData.UtterancesAndReplies[i, 1], reply?.Text);
            }

            var bookingResults = (BookingDetails)testClient.DialogTurnResult.Result;

            Assert.Equal(bookingTestData.ExpectedBookingDetails?.Origin, bookingResults?.Origin);
            Assert.Equal(bookingTestData.ExpectedBookingDetails?.Destination, bookingResults?.Destination);
            Assert.Equal(bookingTestData.ExpectedBookingDetails?.TravelDate, bookingResults?.TravelDate);
        }
Ejemplo n.º 5
0
        public void Embedded_Stream_Throws_NotSupportedException_If_No_Index_Specified_In_Query()
        {
            // Arrange
            var testObj = new TestDataObject()
            {
                Name = "Test1"
            };
            var testObj1 = new TestDataObject()
            {
                Name = "Test2"
            };

            using (var docStore = NewDocumentStore())
                using (var session = docStore.OpenSession())
                {
                    InsertTestData(session, testObj, testObj1);

                    // Act
                    var query = session.Query <TestDataObject>();

                    // Assert: (1) Underlying query doesn't throw and (2) Stream doesn't throw
                    Assert.DoesNotThrow(() =>
                    {
                        var list = query.ToList();
                    });

                    Assert.Throws <InvalidOperationException>(() =>
                    {
                        var streamEnumerator = session.Advanced.Stream(query);
                    });
                }
        }
Ejemplo n.º 6
0
        public void Remote_Stream_Throws_InvalidOperationException_If_No_Index_Specified_In_Query()
        {
            // Arrange
            var testObj = new TestDataObject()
            {
                Name = "Test1"
            };
            var testObj1 = new TestDataObject()
            {
                Name = "Test2"
            };

            using (var docStore = NewRemoteDocumentStore())
                using (var session = docStore.OpenSession())
                {
                    InsertTestData(session, testObj, testObj1);

                    // Act
                    var query = session.Query <TestDataObject>();

                    // Assert: (1) Underlying query doesn't throw and (2) Stream doesn't throw
                    Assert.DoesNotThrow(() =>
                    {
                        var list = query.ToList();
                    });


                    //stream query with no existing index/only dynamic index should throw no index exist exception
                    Assert.Throws <InvalidOperationException>(() =>
                    {
// ReSharper disable once AccessToDisposedClosure
                        session.Advanced.Stream(query);
                    });
                }
        }
Ejemplo n.º 7
0
        public async Task DialogFlowUseCases(TestDataObject testData)
        {
            // Arrange
            var bookingTestData = testData.GetObject <GetBookingDetailsDialogTestCase>();
            var sut             = new GetBookingDetailsDialog();
            var testClient      = new DialogTestClient(Channels.Test, sut, bookingTestData.InitialBookingDetails, new[] { new XUnitOutputMiddleware(Output) });

            // Act/Assert
            Output.WriteLine($"Test Case: {bookingTestData.Name}");
            for (var i = 0; i < bookingTestData.UtterancesAndReplies.GetLength(0); i++)
            {
                var reply = await testClient.SendActivityAsync <IMessageActivity>(bookingTestData.UtterancesAndReplies[i, 0]);

                Assert.Equal(bookingTestData.UtterancesAndReplies[i, 1], reply?.Text);
            }

            if (testClient.DialogTurnResult.Status == DialogTurnStatus.Cancelled)
            {
                Assert.Null(testClient.DialogTurnResult.Result);
            }
            else
            {
                var bookingResults = (BookingDetails)testClient.DialogTurnResult.Result;
                Assert.Equal(bookingTestData.ExpectedBookingDetails.Origin, bookingResults.Origin);
                Assert.Equal(bookingTestData.ExpectedBookingDetails.Destination, bookingResults.Destination);
                Assert.Equal(bookingTestData.ExpectedBookingDetails.TravelDate, bookingResults.TravelDate);
            }
        }
Ejemplo n.º 8
0
        public async Task DialogFlowUseCases(TestDataObject testData)
        {
            // Arrange
            var bookingTestData          = testData.GetObject <BookingDialogTestCase>();
            var mockFlightBookingService = new Mock <IFlightBookingService>();

            mockFlightBookingService
            .Setup(x => x.BookFlight(It.IsAny <BookingDetails>(), It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(bookingTestData.FlightBookingServiceResult));

            var mockGetBookingDetailsDialog = SimpleMockFactory.CreateMockDialog <GetBookingDetailsDialog>(bookingTestData.GetBookingDetailsDialogResult).Object;

            var sut        = new BookingDialog(mockGetBookingDetailsDialog, mockFlightBookingService.Object);
            var testClient = new DialogTestClient(Channels.Test, sut, middlewares: _middlewares);

            // Act/Assert
            Output.WriteLine($"Test Case: {bookingTestData.Name}");
            for (var i = 0; i < bookingTestData.UtterancesAndReplies.GetLength(0); i++)
            {
                var utterance = bookingTestData.UtterancesAndReplies[i, 0];

                // Send the activity and receive the first reply or just pull the next
                // activity from the queue if there's nothing to send
                var reply = !string.IsNullOrEmpty(utterance)
                    ? await testClient.SendActivityAsync <IMessageActivity>(utterance)
                    : testClient.GetNextReply <IMessageActivity>();

                Assert.Equal(bookingTestData.UtterancesAndReplies[i, 1], reply.Text);
            }

            Assert.Equal(bookingTestData.ExpectedDialogResult.Status, testClient.DialogTurnResult.Status);
        }
Ejemplo n.º 9
0
        public void Test_Convert_ToUri()
        {
            // ドロップテストデータ
            var paths = new string[] { @"c:\directory\file.ext", @"d:\path\to\data" };

            // モック
            var dataMock = new TestDataObject();

            dataMock.Setup_GetDataPresent(DataFormats.FileDrop, () => true);
            dataMock.Setup_GetData(DataFormats.FileDrop, () => paths);

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object);

            // テストデータを期待値の型に変換しておく
            var expects = paths.Select(p => new Uri(p)).ToArray();

            // 変換テスト
            var target = new DragEventArgsToFilePathConverter();

            target.ConvertToUri = true;
            target.Convert(args, null, null, null)
            .Should().BeOfType <Uri[]>()
            .Which
            .Should().Equal(expects);
        }
Ejemplo n.º 10
0
        public void Test_DragOver_Reject()
        {
            // テスト対象のアクションを呼び出すためのトリガ作成
            var element = new UIElement();
            var action  = new TestAction();

            // テスト対象の準備
            var trigger = new DragDropTerigger();

            trigger.AcceptDropFormats = new[] { DataFormats.FileDrop };
            trigger.AcceptDropEffect  = DragDropEffects.Move;

            // 要素にアタッチ
            trigger.Attach(element);
            trigger.Actions.Add(action);

            // ドロップデータのモック
            var dataMock = new TestDataObject();

            dataMock.Setup_GetDataPresent(DataFormats.FileDrop, () => false);

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object, allowedEffects: DragDropEffects.All);

            args.RoutedEvent = UIElement.DragOverEvent;
            args.Effects     = DragDropEffects.Copy;

            // イベントを発生させる
            element.RaiseEvent(args);

            // イベント処理結果検証
            args.Effects.Should().Be(DragDropEffects.None);
        }
Ejemplo n.º 11
0
        public void Stream_Should_Not_Throw_Invalid_Index_If_Index_Specified_In_Query()
        {
            // Arrange
            var testObj = new TestDataObject() { Name = "Test1" };
            var testObj1 = new TestDataObject() { Name = "Test2" };

            using (var docStore = NewDocumentStore())
            using (var session = docStore.OpenSession())
            {
                InsertTestData(session, testObj, testObj1);

                // Act
                var query = session.Query<TestDataObject>(new RavenDocumentsByEntityName().IndexName);

                // Assert: (1) Underlying query doesn't throw and (2) Stream doesn't throw
                Assert.DoesNotThrow(() =>
                {
                    var list = query.ToList();
                });

                var streamEnumerator = session.Advanced.Stream(query);

                // Because we've forced an index name in the query, the stream should use that and not throw
                Assert.DoesNotThrow(() =>
                {
                    while (streamEnumerator.MoveNext())
                    {
                        break; 
                    }
                });
                
            }

        }
Ejemplo n.º 12
0
        public void Embedded_Stream_Throws_NotSupportedException_If_No_Index_Specified_In_Query()
        {
            // Arrange
            var testObj = new TestDataObject() { Name = "Test1" };
            var testObj1 = new TestDataObject() { Name = "Test2" };

            using (var docStore = NewDocumentStore())
            using (var session = docStore.OpenSession())
            {
                InsertTestData(session, testObj, testObj1);

                // Act
                var query = session.Query<TestDataObject>();

                // Assert: (1) Underlying query doesn't throw and (2) Stream doesn't throw
                Assert.DoesNotThrow(() =>
                {
                    var list = query.ToList();
                });

                Assert.Throws<InvalidOperationException>(() =>
                {
                    var streamEnumerator = session.Advanced.Stream(query);
                });
                
            }

        }
Ejemplo n.º 13
0
        public void Test_Convert_ToString_PriorityUnicode()
        {
            // ドロップテストデータ
            var urlUnicode = "https://www.google.com/unicode";
            var urlAnsi    = "https://www.google.com/ansi";

            // モック
            var dataMock = new TestDataObject();

            dataMock.Setup_GetDataPresent("UniformResourceLocatorW", () => true);
            dataMock.Setup_GetDataPresent("UniformResourceLocator", () => true);
            dataMock.Setup_GetData("UniformResourceLocatorW", () => new MemoryStream(Encoding.Unicode.GetBytes(urlUnicode)));
            dataMock.Setup_GetData("UniformResourceLocator", () => new MemoryStream(Encoding.ASCII.GetBytes(urlAnsi)));

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object);

            // 変換テスト
            var target = new DragEventArgsToUrlConverter();

            target.ConvertToUri = false;
            target.Convert(args, null, null, null)
            .Should().BeOfType <string>()
            .Which
            .Should().Be(urlUnicode);
        }
Ejemplo n.º 14
0
        public void Test_Convert_Dispose()
        {
            // モック
            var resourceUnicodeMock = new Mock <IDisposable>();
            var resourceAnsiMock    = new Mock <IDisposable>();
            var dataMock            = new TestDataObject();

            dataMock.Setup_GetDataPresent("UniformResourceLocatorW", () => true);
            dataMock.Setup_GetDataPresent("UniformResourceLocator", () => true);
            dataMock.Setup_GetData("UniformResourceLocatorW", () => resourceUnicodeMock.Object);
            dataMock.Setup_GetData("UniformResourceLocator", () => resourceAnsiMock.Object);

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object);

            // 変換テスト
            var target = new DragEventArgsToUrlConverter();

            target.ConvertToUri = false;
            target.Convert(args, null, null, null)
            .Should().BeNull();

            resourceUnicodeMock.Verify(m => m.Dispose(), Times.Once());
            resourceAnsiMock.Verify(m => m.Dispose(), Times.Once());
        }
Ejemplo n.º 15
0
 public override void SetUp()
 {
     base.SetUp();
     obj = new TestDataObjectImpl()
     {
         BoolProperty = true, IntProperty = 1, StringProperty = "test"
     };
 }
        public void SetProperty_GivenPropertyExpression_SetsProperty()
        {
            var sut = new TestDataObject();

            sut.SetProperty(s => s.Property, 2);

            Assert.That(sut.Property, Is.EqualTo(2));
        }
        public void SetProperty_GivenPropertyExpression_ReturnsTarget()
        {
            var sut = new TestDataObject();

            var returnedObject = sut.SetProperty(s => s.Property, 2);

            Assert.That(returnedObject, Is.SameAs(sut));
        }
Ejemplo n.º 18
0
        public void TestIndexer()
        {
            var data = new TestDataObject(new byte[] { 0, 1, 2, 3 });

            Assert.AreEqual(0, data[0]);

            data[0] = 9;
            Assert.AreEqual(9, data[0]);
        }
Ejemplo n.º 19
0
        public void TestWord()
        {
            var data = new TestDataObject(new byte[] { 0x02, 0x00, 0xe8, 0x03 });

            Assert.AreEqual(2, data.GetWord(0x00));
            Assert.AreEqual(1000, data.GetWord(0x02));

            data.SetWord(0x00, 88);
            Assert.AreEqual(88, data.GetWord(0x00));
        }
        public void ShouldSerializeAsJson()
        {
            var sut         = new TestDataObject(_testObject);
            var innerObject = sut.GetObject <MyTestDataObject>();

            Assert.Equal(JsonConvert.SerializeObject(_testObject), sut.TestObject);
            Assert.NotSame(_testObject, innerObject);
            Assert.Equal(_testObject.SomeText, innerObject.SomeText);
            Assert.Equal(_testObject.SomeNumber, innerObject.SomeNumber);
        }
Ejemplo n.º 21
0
        public void XmlString()
        {
            string         xml    = obj.ToXmlString();
            TestDataObject result = xml.FromXmlString <TestDataObjectImpl>();

            Assert.That(result, Is.Not.Null);
            Assert.That(result.ID, Is.EqualTo(obj.ID));
            Assert.That(result.BoolProperty, Is.EqualTo(obj.BoolProperty));
            Assert.That(result.IntProperty, Is.EqualTo(obj.IntProperty));
            Assert.That(result.StringProperty, Is.EqualTo(obj.StringProperty));
        }
Ejemplo n.º 22
0
    public static void TestUpload()
    {
        Debug.Log("Test Upload");
        var testObject = new TestDataObject
        {
            keys   = new[] { "k1." + DateTime.UtcNow, "k2." + DateTime.UtcNow, "k3." + DateTime.UtcNow },
            values = new[] { UnityEngine.Random.Range(0, 9999).ToString(), UnityEngine.Random.Range(0, 9999).ToString(), UnityEngine.Random.Range(0, 9999).ToString() }
        };
        bool result = UploadContent(testObject);

        Debug.Log("Upload success: " + result);
    }
Ejemplo n.º 23
0
        public void Test_AcceptDropFormats_NoSpecify()
        {
            // テスト対象のアクションを呼び出すためのトリガ作成
            var element = new UIElement();
            var action  = new TestAction();

            // テスト対象の準備
            var trigger = new DragDropTerigger();

            trigger.AcceptDropEffect = DragDropEffects.Move;

            // 要素にアタッチ
            trigger.Attach(element);
            trigger.Actions.Add(action);

            // ドロップデータのモック
            var dataMock = new TestDataObject();

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object, allowedEffects: DragDropEffects.All);

            args.RoutedEvent = UIElement.DragOverEvent;

            // 書式指定無ければなんでも受け付けられる
            {
                // イベントデータ設定
                args.Effects = DragDropEffects.None;

                // イベントを発生させる
                args.Handled = false;
                element.RaiseEvent(args);

                // イベント処理結果検証
                args.Effects.Should().Be(DragDropEffects.Move);
            }

            // 書式指定が空
            trigger.AcceptDropFormats = new string[0];

            // 空の場合もなんでも受け付けられる
            {
                // イベントデータ設定
                args.Effects = DragDropEffects.None;

                // イベントを発生させる
                args.Handled = false;
                element.RaiseEvent(args);

                // イベント処理結果検証
                args.Effects.Should().Be(DragDropEffects.Move);
            }
        }
        private static TestDataObject MakeDataObject_NullableOnly()
        {
            var dataObject = new TestDataObject
            {
                NullableInt32Property          = null,
                NullableInt64Property          = null,
                NullableDoubleProperty         = null,
                NullableGuidProperty           = null,
                NullableDateTimeOffsetProperty = null,
                StringProperty       = null,
                NullableEnumProperty = null,
                ExtraProperty        = 1,
            };

            return(dataObject);
        }
Ejemplo n.º 25
0
 public override bool Equals(object obj)
 {
     if (obj is TestDataObject)
     {
         TestDataObject x = (TestDataObject)obj;
         return
             (this.BoolProperty == x.BoolProperty &&
              this.IntProperty == x.IntProperty &&
              this.StringProperty == x.StringProperty &&
              this.ID == x.ID);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 26
0
        public void Test_Convert_NotUrlDrop2()
        {
            // モック
            var dataMock = new TestDataObject();

            dataMock.Setup_GetDataPresent("UniformResourceLocatorW", () => true);
            dataMock.Setup_GetData("UniformResourceLocatorW", () => null);

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object);

            // 変換テスト
            var target = new DragEventArgsToUrlConverter();

            target.ConvertToUri = false;
            target.Convert(args, null, null, null)
            .Should().BeNull();
        }
Ejemplo n.º 27
0
        public void Test_Convert_NotFileDrop2()
        {
            // モック
            var dataMock = new TestDataObject();

            dataMock.Setup_GetDataPresent(DataFormats.FileDrop, () => true);
            dataMock.Setup_GetData(DataFormats.FileDrop, () => null);

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object);

            // 変換テスト
            var target = new DragEventArgsToFilePathConverter();

            target.ConvertToUri = false;
            target.Convert(args, null, null, null)
            .Should().BeNull();
        }
Ejemplo n.º 28
0
        public void Test_AcceptDropFormats_UnrelatedConverter()
        {
            // テスト対象のアクションを呼び出すためのトリガ作成
            var element = new UIElement();
            var action  = new TestAction();

            // 専用インターフェースを実装していない(ただAcceptFormatsプロパティがあるだけの)コンバータ
            var converter = new TestHasFormatsValueConverter();

            converter.AcceptFormats = new[] { "Conv1", "Conv2", };

            // テスト対象の準備
            var trigger = new DragDropTerigger();

            trigger.AcceptDropEffect   = DragDropEffects.Move;
            trigger.ParameterConverter = converter;

            // 要素にアタッチ
            trigger.Attach(element);
            trigger.Actions.Add(action);

            // ドロップデータのモック
            var dataMock = new TestDataObject();

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object, allowedEffects: DragDropEffects.All);

            args.RoutedEvent = UIElement.DragOverEvent;

            // 専用インターフェスでなければコンパータでの指定はできない。プロパティ指定もしていなければ何でも受け付ける状態。
            {
                // イベントデータ設定
                dataMock.Setup_GetDataPresent("Conv1", () => false);
                dataMock.Setup_GetDataPresent("Conv2", () => false);
                args.Effects = DragDropEffects.None;

                // イベントを発生させる
                args.Handled = false;
                element.RaiseEvent(args);

                // イベント処理結果検証
                args.Effects.Should().Be(DragDropEffects.Move);
            }
        }
        public void TestDictionaryExtensions()
        {
            Dictionary <string, TestDataObject> values = new Dictionary <string, TestDataObject>();

            TestDataObject a = new TestDataObject("A", 3);
            TestDataObject b = new TestDataObject("B", 5);
            TestDataObject c = new TestDataObject("C", 7);

            Func <TestDataObject, string> keyFunction = (x) => x.name;

            // Add Range
            {
                TestDataObject[] range = new TestDataObject[] { a, b, c };
                values.AddRange(keyFunction, range);
                Assert.AreEqual(3, values.Count);

                values.Clear();
                values.AddRange(keyFunction, a, b, c);
                Assert.AreEqual(3, values.Count);

                // Unique
                Assert.False(values.AddUnique(keyFunction(a), a));
                values.AddRangeUnique(keyFunction, range);
                Assert.AreEqual(3, values.Count);

                // Where
                values.Clear();
                values.AddRangeWhere(keyFunction, (x) => x.value < 6, range);
                Assert.AreEqual(2, values.Count);
                Assert.True(values.ContainsKey(a.name));
                Assert.True(values.ContainsKey(b.name));
            }

            // Try Invoke
            {
                int result = 0;
                result = values.TryInvoke(a.name, (tdo) => tdo.value);
                Assert.AreEqual(result, a.value);

                result = -1;
                values.TryInvoke("NULL", (tdo) => { result = tdo.value; });
                Assert.AreNotEqual(result, b.value);
            }
        }
        public async Task ShouldBeAbleToCancelAtAnyTime(TestDataObject testData)
        {
            // Arrange
            var bookingTestData = testData.GetObject <BookingDialogTestCase>();
            var sut             = new BookingDialog();
            var testClient      = new DialogTestClient(Channels.Test, sut, bookingTestData.InitialBookingDetails, _middlewares);

            // Execute the test case
            Output.WriteLine($"Test Case: {bookingTestData.Name}");
            for (var i = 0; i < bookingTestData.UtterancesAndReplies.GetLength(0); i++)
            {
                var reply = await testClient.SendActivityAsync <IMessageActivity>(bookingTestData.UtterancesAndReplies[i, 0]);

                Assert.Equal(bookingTestData.UtterancesAndReplies[i, 1], reply.Text);
            }

            Assert.Equal(DialogTurnStatus.Complete, testClient.DialogTurnResult.Status);
            Assert.Null(testClient.DialogTurnResult.Result);
        }
Ejemplo n.º 31
0
        public static void TestMemberInfoExtensions()
        {
            Type testType = typeof(TestDataObject);

            // Get Field Exhaustive
            FieldInfo    nameField            = testType.GetFieldExhaustive(nameof(TestDataObject.name));
            FieldInfo    valueField           = testType.GetFieldExhaustive(nameof(TestDataObject.value));
            PropertyInfo inverseValueProperty = testType.GetProperty(nameof(TestDataObject.inverseValue));

            // Get Description
            {
                Assert.AreEqual(testType.GetDescription(), testDataObjectDescription);
                Assert.AreEqual(nameField.GetDescription(), TestDataObject.nameDescription);
                Assert.AreEqual(inverseValueProperty.GetDescription(), TestDataObject.inverseValueDescription);
            }

            // Get Value <T>
            TestDataObject a = new TestDataObject("A", 7);

            Assert.AreEqual(7, valueField.GetValue <int>(a));

            // Attribute Has/Get
            {
                Assert.True(nameField.HasAttribute <MemberDescriptionAttribute>());
                Assert.True(nameField.HasAttribute(typeof(MemberDescriptionAttribute)));
                Assert.False(valueField.HasAttribute <MemberDescriptionAttribute>());
                Assert.NotNull(inverseValueProperty.GetAttribute <MemberDescriptionAttribute>());
            }

            // Map Attribute
            {
                Dictionary <Type, Attribute> map = valueField.MapAttributes();
                Assert.True(map.ContainsKey(typeof(HideInInspector)));
                Assert.True(map.ContainsKey(typeof(SerializeField)));
            }

            // Get Full Name
            {
                MethodBase boopMethod = testType.GetMethod(nameof(TestDataObject.Boop));
                Assert.AreEqual("Boop(int n, int b)", boopMethod.GetFullName());
                Assert.AreEqual("int n, int b", boopMethod.GetParameterNames());
            }
        }
        public async Task DialogFlowTests(TestDataObject testData)
        {
            // Arrange
            var testCaseData = testData.GetObject <DateResolverDialogTestCase>();
            var sut          = new DateResolverDialog();
            var testClient   = new DialogTestClient(Channels.Test, sut, testCaseData.InitialData, new[] { new XUnitDialogTestLogger(Output) });

            // Execute the test case
            Output.WriteLine($"Test Case: {testCaseData.Name}");
            Output.WriteLine($"\r\nDialog Input: {testCaseData.InitialData}");
            for (var i = 0; i < testCaseData.UtterancesAndReplies.GetLength(0); i++)
            {
                var reply = await testClient.SendActivityAsync <IMessageActivity>(testCaseData.UtterancesAndReplies[i, 0]);

                Assert.Equal(testCaseData.UtterancesAndReplies[i, 1], reply?.Text);
            }

            Output.WriteLine($"\r\nDialog result: {testClient.DialogTurnResult.Result}");
            Assert.Equal(testCaseData.ExpectedResult, testClient.DialogTurnResult.Result);
        }
Ejemplo n.º 33
0
        public void Test_Convert_ToUri_NotConvert()
        {
            // ドロップテストデータ
            var url = "::::::::::::";

            // モック
            var dataMock = new TestDataObject();

            dataMock.Setup_GetDataPresent("UniformResourceLocatorW", () => true);
            dataMock.Setup_GetData("UniformResourceLocatorW", () => new MemoryStream(Encoding.Unicode.GetBytes(url)));

            // テスト用のイベントパラメータ生成
            var args = TestActivator.CreateDragEventArgs(dataMock.Object);

            // 変換テスト
            var target = new DragEventArgsToUrlConverter();

            target.ConvertToUri = true;
            target.Convert(args, null, null, null)
            .Should().BeNull();
        }
Ejemplo n.º 34
0
 public override void SetUp()
 {
     base.SetUp();
     obj = new TestDataObjectImpl() { BoolProperty = true, IntProperty = 1, StringProperty = "test" };
 }