csharp-sdk-upm/Storage/Storage.Test/JustTest.cs

52 lines
1.7 KiB
C#
Raw Normal View History

using NUnit.Framework;
using System;
using System.Linq;
using System.Collections.Generic;
namespace LeanCloud.Test {
* csharp-sdk.sln: chore: 重构 AVFile 为 AVObject 的子类 * RTM.csproj: * AVQuery2.cs: * AVRealtime.cs: * AVIMNotice.cs: * AVIMClient.cs: * AVIMMessage.cs: * Utils.cs: * ICacheEngine.cs: * IAVIMMessage.cs: * AVIMSignature.cs: * AVIMEventArgs.cs: * IAVIMListener.cs: * AVIMException.cs: * JustTest.cs: * FileTest.cs: * AVIMEnumerator.cs: * AVFile.cs: * QueryTest.cs: * AVIMTextMessage.cs: * AVQuery.cs: * AVObject.cs: * AVIMTypedMessage.cs: * AVIMImageMessage.cs: * IAVTimer.cs: * AVIMConversation.cs: * AVClient.cs: * AVIMAudioMessage.cs: * ISignatureFactory.cs: * AVIMCorePlugins.cs: * AVIMBinaryMessage.cs: * AVIMRecalledMessage.cs: * AVIMMessageListener.cs: * AckCommand.cs: * IAVIMPlatformHooks.cs: * AVIMConversationQuery.cs: * AVIMCommand.cs: * ReadCommand.cs: * PatchCommand.cs: * GoAwayListener.cs: * AVIMProtocol.cs: * MessageCommand.cs: * SessionListener.cs: * SessionCommand.cs: * AVIMTemporaryConversation.cs: * RouterState.cs: * AVRouterController.cs: * AVIMCommandRunner.cs: * IAVIMCommandRunner.cs: * AVDecoder.cs: * IAVRouterController.cs: * IWebSocketClient.cs: * MessagePatchListener.cs: * ConversationCommand.cs: * AVIMMessageFieldNameAttribute.cs: * AVIMMessageClassNameAttribute.cs: * QueryOperation.cs: * QueryCondition.cs: * OfflineMessageListener.cs: * AVIMTypedMessageTypeIntAttribute.cs: * AVTimer.Portable.cs: * AVIMConversationListener.cs: * ConversationUnreadListener.cs: * StringEngine.cs: * AWSUploader.cs: * DateTimeEngine.cs: * QiniuUploader.cs: * QCloudUploader.cs: * DictionaryEngine.cs: * AVFileController.cs: * FreeStyleMessageClassInfo.cs: * DefaultWebSocketClient.Portable.cs: * FreeStyleMessageClassingController.cs: * IFreeStyleMessageClassingController.cs:
2019-09-12 15:07:19 +08:00
public class JustTest {
[Test]
public void Concat() {
Dictionary<string, string> d1 = new Dictionary<string, string> {
{ "aaa", "111" }
};
Dictionary<string, string> d2 = new Dictionary<string, string> {
{ "aaa", "222" },
{ "ccc", "333" }
};
IEnumerable<KeyValuePair<string, string>> d = d1.Concat(d2);
foreach (var e in d) {
TestContext.Out.WriteLine($"{e.Key} : {e.Value}");
* csharp-sdk.sln: chore: 重构 AVFile 为 AVObject 的子类 * RTM.csproj: * AVQuery2.cs: * AVRealtime.cs: * AVIMNotice.cs: * AVIMClient.cs: * AVIMMessage.cs: * Utils.cs: * ICacheEngine.cs: * IAVIMMessage.cs: * AVIMSignature.cs: * AVIMEventArgs.cs: * IAVIMListener.cs: * AVIMException.cs: * JustTest.cs: * FileTest.cs: * AVIMEnumerator.cs: * AVFile.cs: * QueryTest.cs: * AVIMTextMessage.cs: * AVQuery.cs: * AVObject.cs: * AVIMTypedMessage.cs: * AVIMImageMessage.cs: * IAVTimer.cs: * AVIMConversation.cs: * AVClient.cs: * AVIMAudioMessage.cs: * ISignatureFactory.cs: * AVIMCorePlugins.cs: * AVIMBinaryMessage.cs: * AVIMRecalledMessage.cs: * AVIMMessageListener.cs: * AckCommand.cs: * IAVIMPlatformHooks.cs: * AVIMConversationQuery.cs: * AVIMCommand.cs: * ReadCommand.cs: * PatchCommand.cs: * GoAwayListener.cs: * AVIMProtocol.cs: * MessageCommand.cs: * SessionListener.cs: * SessionCommand.cs: * AVIMTemporaryConversation.cs: * RouterState.cs: * AVRouterController.cs: * AVIMCommandRunner.cs: * IAVIMCommandRunner.cs: * AVDecoder.cs: * IAVRouterController.cs: * IWebSocketClient.cs: * MessagePatchListener.cs: * ConversationCommand.cs: * AVIMMessageFieldNameAttribute.cs: * AVIMMessageClassNameAttribute.cs: * QueryOperation.cs: * QueryCondition.cs: * OfflineMessageListener.cs: * AVIMTypedMessageTypeIntAttribute.cs: * AVTimer.Portable.cs: * AVIMConversationListener.cs: * ConversationUnreadListener.cs: * StringEngine.cs: * AWSUploader.cs: * DateTimeEngine.cs: * QiniuUploader.cs: * QCloudUploader.cs: * DictionaryEngine.cs: * AVFileController.cs: * FreeStyleMessageClassInfo.cs: * DefaultWebSocketClient.Portable.cs: * FreeStyleMessageClassingController.cs: * IFreeStyleMessageClassingController.cs:
2019-09-12 15:07:19 +08:00
}
List<string> l1 = new List<string> { "aaa" };
List<string> l2 = new List<string> { "aaa", "bbb" };
IEnumerable<string> l = l1.Concat(l2);
foreach (var e in l) {
TestContext.Out.WriteLine($"{e}");
* csharp-sdk.sln: chore: 重构 AVFile 为 AVObject 的子类 * RTM.csproj: * AVQuery2.cs: * AVRealtime.cs: * AVIMNotice.cs: * AVIMClient.cs: * AVIMMessage.cs: * Utils.cs: * ICacheEngine.cs: * IAVIMMessage.cs: * AVIMSignature.cs: * AVIMEventArgs.cs: * IAVIMListener.cs: * AVIMException.cs: * JustTest.cs: * FileTest.cs: * AVIMEnumerator.cs: * AVFile.cs: * QueryTest.cs: * AVIMTextMessage.cs: * AVQuery.cs: * AVObject.cs: * AVIMTypedMessage.cs: * AVIMImageMessage.cs: * IAVTimer.cs: * AVIMConversation.cs: * AVClient.cs: * AVIMAudioMessage.cs: * ISignatureFactory.cs: * AVIMCorePlugins.cs: * AVIMBinaryMessage.cs: * AVIMRecalledMessage.cs: * AVIMMessageListener.cs: * AckCommand.cs: * IAVIMPlatformHooks.cs: * AVIMConversationQuery.cs: * AVIMCommand.cs: * ReadCommand.cs: * PatchCommand.cs: * GoAwayListener.cs: * AVIMProtocol.cs: * MessageCommand.cs: * SessionListener.cs: * SessionCommand.cs: * AVIMTemporaryConversation.cs: * RouterState.cs: * AVRouterController.cs: * AVIMCommandRunner.cs: * IAVIMCommandRunner.cs: * AVDecoder.cs: * IAVRouterController.cs: * IWebSocketClient.cs: * MessagePatchListener.cs: * ConversationCommand.cs: * AVIMMessageFieldNameAttribute.cs: * AVIMMessageClassNameAttribute.cs: * QueryOperation.cs: * QueryCondition.cs: * OfflineMessageListener.cs: * AVIMTypedMessageTypeIntAttribute.cs: * AVTimer.Portable.cs: * AVIMConversationListener.cs: * ConversationUnreadListener.cs: * StringEngine.cs: * AWSUploader.cs: * DateTimeEngine.cs: * QiniuUploader.cs: * QCloudUploader.cs: * DictionaryEngine.cs: * AVFileController.cs: * FreeStyleMessageClassInfo.cs: * DefaultWebSocketClient.Portable.cs: * FreeStyleMessageClassingController.cs: * IFreeStyleMessageClassingController.cs:
2019-09-12 15:07:19 +08:00
}
}
[Test]
public void Zip() {
List<int> l1 = new List<int> { 1, 2, 3, 4 };
List<int> l2 = new List<int> { 1, 1, 2 };
var l3 = l1.Zip(l2, (e1, e2) => $"{e1}-{e2}");
foreach (var e in l3) {
TestContext.Out.WriteLine($"{e}");
}
}
[Test]
public void GenericType() {
List<int> list = new List<int> { 1, 1, 2, 3, 5, 8 };
Type type = list.GetType();
TestContext.Out.WriteLine(type);
Type genericType = type.GetGenericTypeDefinition();
TestContext.Out.WriteLine(genericType);
TestContext.Out.WriteLine(typeof(IList<>));
TestContext.Out.WriteLine(typeof(List<>));
* csharp-sdk.sln: chore: 重构 AVFile 为 AVObject 的子类 * RTM.csproj: * AVQuery2.cs: * AVRealtime.cs: * AVIMNotice.cs: * AVIMClient.cs: * AVIMMessage.cs: * Utils.cs: * ICacheEngine.cs: * IAVIMMessage.cs: * AVIMSignature.cs: * AVIMEventArgs.cs: * IAVIMListener.cs: * AVIMException.cs: * JustTest.cs: * FileTest.cs: * AVIMEnumerator.cs: * AVFile.cs: * QueryTest.cs: * AVIMTextMessage.cs: * AVQuery.cs: * AVObject.cs: * AVIMTypedMessage.cs: * AVIMImageMessage.cs: * IAVTimer.cs: * AVIMConversation.cs: * AVClient.cs: * AVIMAudioMessage.cs: * ISignatureFactory.cs: * AVIMCorePlugins.cs: * AVIMBinaryMessage.cs: * AVIMRecalledMessage.cs: * AVIMMessageListener.cs: * AckCommand.cs: * IAVIMPlatformHooks.cs: * AVIMConversationQuery.cs: * AVIMCommand.cs: * ReadCommand.cs: * PatchCommand.cs: * GoAwayListener.cs: * AVIMProtocol.cs: * MessageCommand.cs: * SessionListener.cs: * SessionCommand.cs: * AVIMTemporaryConversation.cs: * RouterState.cs: * AVRouterController.cs: * AVIMCommandRunner.cs: * IAVIMCommandRunner.cs: * AVDecoder.cs: * IAVRouterController.cs: * IWebSocketClient.cs: * MessagePatchListener.cs: * ConversationCommand.cs: * AVIMMessageFieldNameAttribute.cs: * AVIMMessageClassNameAttribute.cs: * QueryOperation.cs: * QueryCondition.cs: * OfflineMessageListener.cs: * AVIMTypedMessageTypeIntAttribute.cs: * AVTimer.Portable.cs: * AVIMConversationListener.cs: * ConversationUnreadListener.cs: * StringEngine.cs: * AWSUploader.cs: * DateTimeEngine.cs: * QiniuUploader.cs: * QCloudUploader.cs: * DictionaryEngine.cs: * AVFileController.cs: * FreeStyleMessageClassInfo.cs: * DefaultWebSocketClient.Portable.cs: * FreeStyleMessageClassingController.cs: * IFreeStyleMessageClassingController.cs:
2019-09-12 15:07:19 +08:00
}
}
}