Skip to content

Instantly share code, notes, and snippets.

View IntegerMan's full-sized avatar
👨‍🔬
Writing "Data Science in .NET with Polyglot Notebooks"

Matt Eland IntegerMan

👨‍🔬
Writing "Data Science in .NET with Polyglot Notebooks"
View GitHub Profile
<?xml version="1.0" encoding="utf-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides"
xsi:type="TaskPaneApp">
<Id>a6916f96-d11d-4353-9b83-4113de5dcdbd</Id>
<Version>1.0.0.0</Version>
@IntegerMan
IntegerMan / ScienceExample.cs
Created September 7, 2019 16:13
C# Science Experiments
var legacyAnalyzer = new LegacyAnalyzer();
var newAnalyzer = new RewrittenAnalyzer();
var result = Scientist.Science<CustomResult>("Experiment Name",
experiment =>
{
experiment.Use(() => legacyAnalyzer.Analyze(resume, container));
experiment.Try(() => newAnalyzer.Analyze(resume, container));
experiment.Compare((x, y) => x.Score == y.Score);
});
public class ThrowIfMismatchedPublisher : IResultPublisher
{
public Task Publish<T, TClean>(Result<T, TClean> result)
{
if (result.Mismatched)
{
var sb = new StringBuilder();
sb.AppendLine($"{result.ExperimentName} had mismatched results: ");
foreach (var observation in result.MismatchedObservations)
[Fact]
public void SamplePinningTest()
{
// Arrange
var resume = new ResumeInfo("Matt Eland");
resume.Jobs.Add("Software Engineering Manager");
// Act
var result = Analyze(resume);
public class SpecialCaseTests
{
[Fact]
public void MattElandShouldScoreMaxValue()
{
// Arrange
var resume = new ResumeInfo("Matt Eland");
var job = new JobInfo("Software Engineering Manager", "Some Company", 42);
resume.Jobs.Add(job);
var provider = new KeywordScoringProvider();
public class SpecialCaseTests
{
[Fact]
public void MattElandShouldScoreMaxValue()
{
// Arrange
var resume = new ResumeInfo("Matt Eland");
var job = new JobInfo("Software Engineering Manager", "Some Company", 42);
resume.Jobs.Add(job);
var provider = new KeywordScoringProvider();
public class SpecialCaseTests
{
[Fact]
public void MattElandShouldScoreMaxValue()
{
// Arrange
var resume = new ResumeInfo("Matt Eland");
var job = new JobInfo("Software Engineering Manager", "Some Company", 42);
resume.Jobs.Add(job);
var provider = new KeywordScoringProvider();
using Shouldly;
public class SpecialCaseTests
{
[Fact]
public void MattElandShouldScoreMaxValue()
{
// Arrange
var resume = new ResumeInfo("Matt Eland");
var job = new JobInfo("Software Engineering Manager", "Some Company", 42);
using Bogus;
using Shouldly;
public class SpecialCaseTests
{
[Fact]
public void MattElandShouldScoreMaxValue()
{
// Arrange
var resume = new ResumeInfo("Matt Eland");
using Bogus;
using Shouldly;
public class SpecialCaseTests
{
private JobInfo CreateRandomJob() {
var faker = new Faker();
string title = faker.Hacker.Phrase;
string company = faker.Company.CompanyName;