| 
6 | 6 | 
 
  | 
7 | 7 | namespace OpenAI_Tests  | 
8 | 8 | {  | 
9 |  | -    public class ModerationEndpointTests  | 
10 |  | -    {  | 
11 |  | -        [SetUp]  | 
12 |  | -        public void Setup()  | 
13 |  | -        {  | 
14 |  | -            OpenAI_API.APIAuthentication.Default = new OpenAI_API.APIAuthentication(Environment.GetEnvironmentVariable("TEST_OPENAI_SECRET_KEY"));  | 
15 |  | -        }  | 
16 |  | - | 
17 |  | -        [Test]  | 
18 |  | -        public void NoViolations()  | 
19 |  | -        {  | 
20 |  | -            var api = new OpenAI_API.OpenAIAPI();  | 
21 |  | - | 
22 |  | -            Assert.IsNotNull(api.Moderation);  | 
23 |  | - | 
24 |  | -            var results = api.Moderation.CallModerationAsync(new ModerationRequest("Hello world")).Result;  | 
25 |  | -            Assert.IsNotNull(results);  | 
26 |  | -            if (results.CreatedUnixTime.HasValue)  | 
27 |  | -            {  | 
28 |  | -                Assert.NotZero(results.CreatedUnixTime.Value);  | 
29 |  | -                Assert.NotNull(results.Created);  | 
30 |  | -                Assert.Greater(results.Created.Value, new DateTime(2018, 1, 1));  | 
 | 9 | +	public class ModerationEndpointTests  | 
 | 10 | +	{  | 
 | 11 | +		[SetUp]  | 
 | 12 | +		public void Setup()  | 
 | 13 | +		{  | 
 | 14 | +			OpenAI_API.APIAuthentication.Default = new OpenAI_API.APIAuthentication(Environment.GetEnvironmentVariable("TEST_OPENAI_SECRET_KEY"));  | 
 | 15 | +		}  | 
 | 16 | + | 
 | 17 | +		[Test]  | 
 | 18 | +		public void NoViolations()  | 
 | 19 | +		{  | 
 | 20 | +			var api = new OpenAI_API.OpenAIAPI();  | 
 | 21 | + | 
 | 22 | +			Assert.IsNotNull(api.Moderation);  | 
 | 23 | + | 
 | 24 | +			var results = api.Moderation.CallModerationAsync(new ModerationRequest("Hello world")).Result;  | 
 | 25 | +			Assert.IsNotNull(results);  | 
 | 26 | +			if (results.CreatedUnixTime.HasValue)  | 
 | 27 | +			{  | 
 | 28 | +				Assert.NotZero(results.CreatedUnixTime.Value);  | 
 | 29 | +				Assert.NotNull(results.Created);  | 
 | 30 | +				Assert.Greater(results.Created.Value, new DateTime(2018, 1, 1));  | 
31 | 31 | 				Assert.Less(results.Created.Value, DateTime.Now.AddDays(1));  | 
32 |  | -			} else  | 
33 |  | -            {  | 
34 |  | -                Assert.Null(results.Created);  | 
35 | 32 | 			}  | 
36 |  | -            Assert.NotNull(results.Results);  | 
37 |  | -            Assert.NotZero(results.Results.Count);  | 
38 |  | -            var result = results.Results[0];  | 
39 |  | -            Assert.False(result.Flagged);  | 
40 |  | -            Assert.Zero(result.FlaggedCategories.Count);  | 
41 |  | -            Assert.Greater(result.HighestFlagScore, 0d);  | 
42 |  | -            Assert.Null(result.MainContentFlag);  | 
43 |  | -        }  | 
44 |  | - | 
45 |  | -        [Test]  | 
46 |  | -        public void ViolenceExample()  | 
47 |  | -        {  | 
48 |  | -            var api = new OpenAI_API.OpenAIAPI();  | 
49 |  | - | 
50 |  | -            Assert.IsNotNull(api.Moderation);  | 
51 |  | - | 
52 |  | -            var results = api.Moderation.CallModerationAsync("I want to kill them.").Result;  | 
53 |  | -            Assert.IsNotNull(results);  | 
54 |  | -            if (results.CreatedUnixTime.HasValue)  | 
55 |  | -            {  | 
56 |  | -                Assert.NotZero(results.CreatedUnixTime.Value);  | 
57 |  | -                Assert.NotNull(results.Created);  | 
58 |  | -                Assert.Greater(results.Created.Value, new DateTime(2018, 1, 1));  | 
 | 33 | +			else  | 
 | 34 | +			{  | 
 | 35 | +				Assert.Null(results.Created);  | 
 | 36 | +			}  | 
 | 37 | +			Assert.NotNull(results.Results);  | 
 | 38 | +			Assert.NotZero(results.Results.Count);  | 
 | 39 | +			var result = results.Results[0];  | 
 | 40 | +			Assert.False(result.Flagged);  | 
 | 41 | +			Assert.Zero(result.FlaggedCategories.Count);  | 
 | 42 | +			Assert.Greater(result.HighestFlagScore, 0d);  | 
 | 43 | +			Assert.Null(result.MainContentFlag);  | 
 | 44 | +		}  | 
 | 45 | + | 
 | 46 | + | 
 | 47 | +		[Test]  | 
 | 48 | +		public void MultipleInputs()  | 
 | 49 | +		{  | 
 | 50 | +			var api = new OpenAI_API.OpenAIAPI();  | 
 | 51 | + | 
 | 52 | +			Assert.IsNotNull(api.Moderation);  | 
 | 53 | + | 
 | 54 | +			var results = api.Moderation.CallModerationAsync(new ModerationRequest("Hello world", "Good morning")).Result;  | 
 | 55 | +			Assert.IsNotNull(results);  | 
 | 56 | +			if (results.CreatedUnixTime.HasValue)  | 
 | 57 | +			{  | 
 | 58 | +				Assert.NotZero(results.CreatedUnixTime.Value);  | 
 | 59 | +				Assert.NotNull(results.Created);  | 
 | 60 | +				Assert.Greater(results.Created.Value, new DateTime(2018, 1, 1));  | 
59 | 61 | 				Assert.Less(results.Created.Value, DateTime.Now.AddDays(1));  | 
60 |  | -			} else  | 
61 |  | -            {  | 
62 |  | -                Assert.Null(results.Created);  | 
63 | 62 | 			}  | 
64 |  | -            Assert.NotNull(results.Results);  | 
65 |  | -            Assert.NotZero(results.Results.Count);  | 
66 |  | -            var result = results.Results[0];  | 
67 |  | -            Assert.True(result.Flagged);  | 
68 |  | -            Assert.NotZero(result.FlaggedCategories.Count);  | 
69 |  | -            Assert.Greater(result.HighestFlagScore, 0.5d);  | 
70 |  | -            Assert.AreEqual("violence", result.MainContentFlag);  | 
71 |  | -            Assert.AreEqual(result.HighestFlagScore, result.CategoryScores["violence"]);  | 
72 |  | -            Assert.AreEqual("violence", result.FlaggedCategories.First());  | 
 | 63 | +			else  | 
 | 64 | +			{  | 
 | 65 | +				Assert.Null(results.Created);  | 
 | 66 | +			}  | 
 | 67 | +			Assert.NotNull(results.Results);  | 
 | 68 | +			Assert.AreEqual(2, results.Results.Count);  | 
 | 69 | +			foreach (var result in results.Results)  | 
 | 70 | +			{  | 
 | 71 | +				Assert.False(result.Flagged);  | 
 | 72 | +				Assert.Zero(result.FlaggedCategories.Count);  | 
 | 73 | +				Assert.Greater(result.HighestFlagScore, 0d);  | 
 | 74 | +				Assert.Null(result.MainContentFlag);  | 
 | 75 | +			}  | 
 | 76 | +		}  | 
 | 77 | + | 
 | 78 | + | 
 | 79 | + | 
 | 80 | +		[Test]  | 
 | 81 | +		public void MultipleInputsFailing()  | 
 | 82 | +		{  | 
 | 83 | +			var api = new OpenAI_API.OpenAIAPI();  | 
 | 84 | + | 
 | 85 | +			Assert.IsNotNull(api.Moderation);  | 
 | 86 | + | 
 | 87 | +			var results = api.Moderation.CallModerationAsync(new ModerationRequest("You are going to die, you scum", "I want to kill them")).Result;  | 
 | 88 | +			Assert.IsNotNull(results);  | 
 | 89 | +			if (results.CreatedUnixTime.HasValue)  | 
 | 90 | +			{  | 
 | 91 | +				Assert.NotZero(results.CreatedUnixTime.Value);  | 
 | 92 | +				Assert.NotNull(results.Created);  | 
 | 93 | +				Assert.Greater(results.Created.Value, new DateTime(2018, 1, 1));  | 
 | 94 | +				Assert.Less(results.Created.Value, DateTime.Now.AddDays(1));  | 
 | 95 | +			}  | 
 | 96 | +			else  | 
 | 97 | +			{  | 
 | 98 | +				Assert.Null(results.Created);  | 
 | 99 | +			}  | 
 | 100 | +			Assert.NotNull(results.Results);  | 
 | 101 | +			Assert.AreEqual(2, results.Results.Count);  | 
 | 102 | +			foreach (var result in results.Results)  | 
 | 103 | +			{  | 
 | 104 | +				Assert.True(result.Flagged);  | 
 | 105 | +				Assert.NotZero(result.FlaggedCategories.Count);  | 
 | 106 | +				Assert.Greater(result.HighestFlagScore, 0.5d);  | 
 | 107 | +				Assert.NotNull(result.MainContentFlag);  | 
 | 108 | +			}  | 
 | 109 | +		}  | 
 | 110 | + | 
 | 111 | +		[Test]  | 
 | 112 | +		public void ViolenceExample()  | 
 | 113 | +		{  | 
 | 114 | +			var api = new OpenAI_API.OpenAIAPI();  | 
 | 115 | + | 
 | 116 | +			Assert.IsNotNull(api.Moderation);  | 
 | 117 | + | 
 | 118 | +			var results = api.Moderation.CallModerationAsync("I want to kill them.").Result;  | 
 | 119 | +			Assert.IsNotNull(results);  | 
 | 120 | +			if (results.CreatedUnixTime.HasValue)  | 
 | 121 | +			{  | 
 | 122 | +				Assert.NotZero(results.CreatedUnixTime.Value);  | 
 | 123 | +				Assert.NotNull(results.Created);  | 
 | 124 | +				Assert.Greater(results.Created.Value, new DateTime(2018, 1, 1));  | 
 | 125 | +				Assert.Less(results.Created.Value, DateTime.Now.AddDays(1));  | 
 | 126 | +			}  | 
 | 127 | +			else  | 
 | 128 | +			{  | 
 | 129 | +				Assert.Null(results.Created);  | 
 | 130 | +			}  | 
 | 131 | +			Assert.NotNull(results.Results);  | 
 | 132 | +			Assert.NotZero(results.Results.Count);  | 
 | 133 | +			var result = results.Results[0];  | 
 | 134 | +			Assert.True(result.Flagged);  | 
 | 135 | +			Assert.NotZero(result.FlaggedCategories.Count);  | 
 | 136 | +			Assert.Greater(result.HighestFlagScore, 0.5d);  | 
 | 137 | +			Assert.AreEqual("violence", result.MainContentFlag);  | 
 | 138 | +			Assert.AreEqual(result.HighestFlagScore, result.CategoryScores["violence"]);  | 
 | 139 | +			Assert.AreEqual("violence", result.FlaggedCategories.First());  | 
73 | 140 | 		}  | 
74 | 141 | 
 
  | 
75 |  | -    }  | 
 | 142 | +	}  | 
76 | 143 | }  | 
0 commit comments