public static void Main()
Console.WriteLine("Hello World");
TestImplementation testClass = new TestImplementation();
ITest testInterface = new TestImplementation();
Console.WriteLine("Output when using Implementation is : " + testClass.GetBool() + " .... which makes sense as implementation overrides the default to true");
Console.WriteLine("Output when using Interface is : " + testInterface.GetBool() + " .... :huh expected to be true because Implementation overrides the default doesn't it? It's False beacuse the Interface's default is used");
bool GetBool(bool bla = false);
public class TestImplementation : ITest
public bool GetBool(bool inputBool = true)