Skip to content

Commit ca8f7f1

Browse files
committed
Adding simple bootstrapper back
1 parent c8894d7 commit ca8f7f1

34 files changed

Lines changed: 584 additions & 204 deletions

src/Sentiment/Wikiled.Sentiment.AcceptanceTests/Sentiments/SentimentTests.cs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
using System.Reactive.Linq;
77
using System.Threading.Tasks;
88
using Microsoft.Extensions.Logging;
9+
using Microsoft.Extensions.Logging.Abstractions;
910
using NUnit.Framework;
1011
using Wikiled.Arff.Extensions;
1112
using Wikiled.Common.Logging;
1213
using Wikiled.Sentiment.AcceptanceTests.Helpers;
1314
using Wikiled.Sentiment.AcceptanceTests.Helpers.Data;
1415
using Wikiled.Sentiment.Analysis.Processing;
16+
using Wikiled.Sentiment.Analysis.Processing.Persistency;
1517
using Wikiled.Sentiment.Text.Data;
1618
using Wikiled.Sentiment.Text.Data.Review;
1719
using Wikiled.Sentiment.Text.MachineLearning;
@@ -41,30 +43,30 @@ public void TearDown()
4143
[Test]
4244
public async Task SimpleTest()
4345
{
44-
var data = new XmlProcessingDataLoader().LoadOldXml(Path.Combine(TestContext.CurrentContext.TestDirectory, "data", "articles.xml"));
45-
var negative = data.All
46+
var data = new XmlDataLoader(new NullLogger<XmlDataLoader>()).LoadOldXml(Path.Combine(TestContext.CurrentContext.TestDirectory, "data", "articles.xml"));
47+
var negative = data.Load()
4648
.Where(item => item.Sentiment == SentimentClass.Negative)
4749
.Select(item => item.Data)
4850
.Repeat(15)
4951
.Select(
5052
item =>
5153
{
52-
item.Stars = 1;
53-
item.Text = item.Text;
54-
item.Id = Guid.NewGuid().ToString();
55-
return new ParsingDocumentHolder(TestHelper.Instance.ContainerHelper.GetTextSplitter(), item);
54+
item.Result.Stars = 1;
55+
item.Result.Text = item.Result.Text;
56+
item.Result.Id = Guid.NewGuid().ToString();
57+
return new ParsingDocumentHolder(TestHelper.Instance.ContainerHelper.GetTextSplitter(), item.Result);
5658
});
5759

58-
var positive = data.All.Where(item => item.Sentiment == SentimentClass.Positive)
60+
var positive = data.Load().Where(item => item.Sentiment == SentimentClass.Positive)
5961
.Select(item => item.Data)
6062
.Repeat(15)
6163
.Select(
6264
item =>
6365
{
64-
item.Stars = 5;
65-
item.Text = item.Text;
66-
item.Id = Guid.NewGuid().ToString();
67-
return new ParsingDocumentHolder(TestHelper.Instance.ContainerHelper.GetTextSplitter(), item);
66+
item.Result.Stars = 5;
67+
item.Result.Text = item.Result.Text;
68+
item.Result.Id = Guid.NewGuid().ToString();
69+
return new ParsingDocumentHolder(TestHelper.Instance.ContainerHelper.GetTextSplitter(), item.Result);
6870
});
6971

7072
var trainingPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "training");

src/Sentiment/Wikiled.Sentiment.Analysis.Tests/Processing/Electronics.csv

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/Sentiment/Wikiled.Sentiment.Analysis.Tests/Processing/DataLoaderTests.cs renamed to src/Sentiment/Wikiled.Sentiment.Analysis.Tests/Processing/Persistency/DataLoaderTests.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,40 @@
22
using System.Linq;
33
using System.Reactive.Linq;
44
using System.Threading.Tasks;
5+
using Microsoft.Extensions.Logging.Abstractions;
56
using NUnit.Framework;
67
using Wikiled.Sentiment.Analysis.Processing;
8+
using Wikiled.Sentiment.Analysis.Processing.Persistency;
79

8-
namespace Wikiled.Sentiment.Analysis.Tests.Processing
10+
namespace Wikiled.Sentiment.Analysis.Tests.Processing.Persistency
911
{
1012
[TestFixture]
1113
public class DataLoaderTests
1214
{
1315
private DataLoader instance;
1416

17+
private SimpleDataSource source;
18+
1519
[SetUp]
1620
public void SetUp()
1721
{
22+
source = new SimpleDataSource();
1823
instance = CreateDataLoader();
1924
}
2025

2126
[Test]
22-
public async Task Load()
27+
public async Task LoadJson()
2328
{
24-
var data = instance.Load(Path.Combine(TestContext.CurrentContext.TestDirectory, @"data\data.json"));
25-
var all = await data.All.ToArray();
29+
source.All = Path.Combine(TestContext.CurrentContext.TestDirectory, @"data\data.json");
30+
var all = await instance.Load(source).Load().ToArray();
2631
Assert.AreEqual(3, all.Length);
2732
Assert.AreEqual(1, all.Count(item => item.Sentiment == SentimentClass.Negative));
2833
Assert.AreEqual(2, all.Count(item => item.Sentiment == SentimentClass.Positive));
2934
}
3035

3136
private DataLoader CreateDataLoader()
3237
{
33-
return new DataLoader();
38+
return new DataLoader(new NullLoggerFactory());
3439
}
3540
}
3641
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using Wikiled.Sentiment.Analysis.Processing.Persistency;
2+
3+
namespace Wikiled.Sentiment.Analysis.Tests.Processing.Persistency
4+
{
5+
public class SimpleDataSource : IDataSourceConfig
6+
{
7+
public string All { get; set; }
8+
9+
public string Positive { get; set; }
10+
11+
public string Negative { get; set; }
12+
}
13+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
using System.IO;
2+
using System.Linq;
3+
using System.Reactive.Linq;
4+
using System.Threading.Tasks;
5+
using Microsoft.Extensions.Logging.Abstractions;
6+
using NUnit.Framework;
7+
using Wikiled.Sentiment.Analysis.Processing;
8+
using Wikiled.Sentiment.Analysis.Processing.Persistency;
9+
10+
namespace Wikiled.Sentiment.Analysis.Tests.Processing.Persistency
11+
{
12+
[TestFixture]
13+
public class XmlDataLoaderTests
14+
{
15+
[Test]
16+
public async Task LoadOldXml()
17+
{
18+
var path = Path.Combine(TestContext.CurrentContext.TestDirectory, "Data/Antena.xml");
19+
var result = new XmlDataLoader(new NullLogger<XmlDataLoader>()).LoadOldXml(path);
20+
var positive = await result.Load().Where(item => item.Sentiment == SentimentClass.Positive).Select(item => item.Data).ToArray();
21+
var negative = await result.Load().Where(item => item.Sentiment == SentimentClass.Negative).Select(item => item.Data).ToArray();
22+
Assert.AreEqual(85, positive.Length);
23+
Assert.AreEqual(19, negative.Length);
24+
Assert.AreEqual(5.0, positive.First().Result.Stars);
25+
Assert.AreEqual(120, positive.First().Result.Text.Length);
26+
}
27+
}
28+
}

src/Sentiment/Wikiled.Sentiment.Analysis.Tests/Processing/XmlProcessingDataLoaderTests.cs

Lines changed: 0 additions & 26 deletions
This file was deleted.

src/Sentiment/Wikiled.Sentiment.Analysis.Tests/Wikiled.Sentiment.Analysis.Tests.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@
5252
<None Update="NLog.config">
5353
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
5454
</None>
55-
<None Update="Processing\Electronics.csv">
56-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
57-
</None>
5855
</ItemGroup>
5956

6057
<Target Name="ForceGenerationOfBindingRedirects" AfterTargets="ResolveAssemblyReferences" BeforeTargets="GenerateBindingRedirects" Condition="'$(AutoGenerateBindingRedirects)' == 'true'">

src/Sentiment/Wikiled.Sentiment.Analysis/Containers/SentimentMainModule.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using Microsoft.Extensions.Caching.Memory;
66
using Wikiled.Sentiment.Analysis.Pipeline;
77
using Wikiled.Sentiment.Analysis.Processing;
8+
using Wikiled.Sentiment.Analysis.Processing.Persistency;
89
using Wikiled.Sentiment.Text.Aspects;
910
using Wikiled.Sentiment.Text.Configuration;
1011
using Wikiled.Sentiment.Text.NLP;
@@ -21,6 +22,8 @@ public class SentimentMainModule : Module
2122
protected override void Load(ContainerBuilder builder)
2223
{
2324
builder.RegisterModule<DefaultNlpModule>();
25+
26+
builder.RegisterType<DataLoader>().As<IDataLoader>();
2427
builder.RegisterType<SessionContainer>().As<ISessionContainer>();
2528
builder.RegisterType<LexiconConfiguration>().As<ILexiconConfiguration>().SingleInstance();
2629
builder.RegisterType<InquirerManager>().As<IInquirerManager>().SingleInstance().OnActivating(item => item.Instance.Load());

src/Sentiment/Wikiled.Sentiment.Analysis/Processing/DataLoader.cs

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/Sentiment/Wikiled.Sentiment.Analysis/Processing/DataPair.cs

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)