-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy pathActivityTest.cs
More file actions
74 lines (64 loc) · 2.52 KB
/
ActivityTest.cs
File metadata and controls
74 lines (64 loc) · 2.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*
Copyright 2014 Rustici Software
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
namespace TinCanTests
{
using System;
using NUnit.Framework;
using TinCan;
[TestFixture]
class ActivityTest
{
[Test]
public void TestActivityIdTrailingSlash()
{
var activity = new Activity();
string noTrailingSlash = "http://foo";
activity.id = noTrailingSlash;
Assert.AreEqual(noTrailingSlash, activity.id);
}
[Test]
public void TestActivityIdCase()
{
var activity = new Activity();
string mixedCase = "http://fOO";
activity.id = mixedCase;
Assert.AreEqual(mixedCase, activity.id);
}
[Test]
public void TestActivityIdInvalidUri()
{
Assert.Throws<System.UriFormatException>(
() =>
{
var activity = new Activity();
string invalid = "foo";
activity.id = invalid;
}
);
}
[Test]
public void TestActivityDefinitionUriSerialization()
{
var moreInfo = new Uri("mailto:email@adlnet.gov?cc=cc@adlnet.gov&subject=Message%20Subject&body=This%20is%20a%20long%20message");
var type = new Uri("http://adlnet.gov/expapi/activities/test/%20with%20space");
var def = new ActivityDefinition
{
moreInfo = moreInfo,
type = type
};
var json = def.ToJObject(TCAPIVersion.latest());
Assert.AreEqual("mailto:email@adlnet.gov?cc=cc@adlnet.gov&subject=Message%20Subject&body=This%20is%20a%20long%20message", json["moreInfo"].ToString(), "ActivityDefinition.moreInfo serialization failed to preserve encoding");
Assert.AreEqual("http://adlnet.gov/expapi/activities/test/%20with%20space", json["type"].ToString(), "ActivityDefinition.type serialization failed to preserve encoding");
}
}
}