Skip to content

Instantly share code, notes, and snippets.

View angrynerds-marcin's full-sized avatar

angrynerds-marcin

View GitHub Profile
public void Test()
{
var a = new ATMDispenser(100, 1);
var b = new ATMDispenser(50, 2);
var c = new ATMDispenser(20, 5);
a.SetNext(b);
b.SetNext(c);
var x = a.Check(140);
public abstract class ATMDispenserAbstract
{
protected ATMDispenserAbstract Next;
public void SetNext(ATMDispenserAbstract next)
{
Next = next;
}
public abstract class RecommendedVideo
{
protected RecommendedVideo Next;
public void SetNext(RecommendedVideo next)
{
Next = next;
}
public abstract string GetVideo(int age);
public void Test()
{
var polandTaxCalculator = new PolandTaxCalculator();
var germanyTaxCalculator = new GermanyTaxCalculator();
var norwayTaxCalculator = new NorwayTaxCalculator();
var franceTaxCalculator = new FranceTaxCalculator();
var russiaTaxCalculator = new RussiaTaxCalculator();
polandTaxCalculator.SetNext(germanyTaxCalculator);
germanyTaxCalculator.SetNext(norwayTaxCalculator);
public abstract class TaxCalculator
{
protected TaxCalculator Next;
public void SetNext(TaxCalculator next)
{
Next = next;
}
public abstract double GetValue(double total, string countryName);
public class TaxCalculator
{
private readonly string countryName;
public TaxCalculator(string countryName)
{
this.countryName = countryName;
}
public double GetValue(double total)