BotSharp/BotSharp.Core.UnitTest/ConversationTest.cs

50 lines
2.6 KiB
C#
Raw Normal View History

2018-10-03 01:44:11 +00:00
using BotSharp.NLP;
2018-03-28 22:08:49 +00:00
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Linq;
2018-03-28 22:08:49 +00:00
using System.Text;
2018-08-19 03:42:51 +00:00
namespace BotSharp.Core.UnitTest
2018-03-28 22:08:49 +00:00
{
[TestClass]
public class ConversationTest : TestEssential
2018-03-28 22:08:49 +00:00
{
[TestMethod]
public void TextRequest()
{
2018-10-03 01:44:11 +00:00
/*var ai = new ApiAi();
var agent = ai.LoadAgent(BOT_ID);
ai.AiConfig = new AIConfiguration(agent.ClientAccessToken, SupportedLanguage.English) { AgentId = BOT_ID };
ai.AiConfig.SessionId = Guid.NewGuid().ToString();
2018-05-24 13:10:10 +00:00
// Round 1
var response = ai.TextRequest(new AIRequest { Query = new String[] { "Can you play country music?" } });
2018-06-18 14:15:54 +00:00
Assert.AreEqual(response.Result.Metadata.IntentName, "music.play");
2018-06-18 22:15:32 +00:00
Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "music-player-control").Lifespan, 3);
Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "play-music").Lifespan, 5);
Assert.AreEqual(response.Result.Parameters.First(x => x.Key == "genre").Value, "country");
// Round 2
response = ai.TextRequest(new AIRequest { Query = new String[] { "pause it" } });
2018-06-18 22:15:32 +00:00
Assert.AreEqual(response.Result.Metadata.IntentName, "music_player_control.pause");
Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "music-player-control").Lifespan, 3);
Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "play-music").Lifespan, 4);
// Round 3
response = ai.TextRequest(new AIRequest { Query = new String[] { "continue" } });
2018-06-18 22:15:32 +00:00
Assert.AreEqual(response.Result.Metadata.IntentName, "music_player_control.resume");
Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "music-player-control").Lifespan, 3);
Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "play-music").Lifespan, 3);
// Round 4
response = ai.TextRequest(new AIRequest { Query = new String[] { "play Hard Times by David Newman" } });
2018-06-18 22:15:32 +00:00
Assert.AreEqual(response.Result.Metadata.IntentName, "music.play");
Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "music-player-control").Lifespan, 3);
Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "play-music").Lifespan, 5);
Assert.AreEqual(response.Result.Parameters.First(x => x.Key == "song").Value, "Hard Times");
2018-10-03 01:44:11 +00:00
Assert.AreEqual(response.Result.Parameters.First(x => x.Key == "artist").Value, "David Newman");*/
2018-03-28 22:08:49 +00:00
}
}
}