Skip to content
Snippets Groups Projects
Commit a446f9ef authored by Uwe Wienkop's avatar Uwe Wienkop
Browse files

2021-03-15 Mo

parent ea9612b1
Branches
No related tags found
No related merge requests found
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RootNamespace>_01_T_WdhlgKlassen</RootNamespace>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="xunit" Version="2.4.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
<PackageReference Include="coverlet.collector" Version="1.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\01-V WdhlgKlassen\01-1 WdhlgKlassen.csproj" />
</ItemGroup>
</Project>
using System;
using System.IO;
using Xunit;
namespace _01_T_WdhlgKlassen
{
public class UnitTest1
{
private const string Expected = "Hello World!";
[Fact]
public void MainTest()
{
using (var sw = new StringWriter())
{
Console.SetOut(sw);
_01_V_WdhlgKlassen.Program.Main();
var result = sw.ToString().Trim();
Assert.Equal(Expected, result);
}
}
[Fact]
public void AddTest()
{
Assert.Equal(7, _01_V_WdhlgKlassen.Program.Add(3, 4));
Assert.Equal(-6, _01_V_WdhlgKlassen.Program.Add(-3, -3));
//Assert.Equal(1, _01_V_WdhlgKlassen.Program.Add(-3, 4));
}
}
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RootNamespace>_01_V_IntroIndexer</RootNamespace>
</PropertyGroup>
</Project>
using System;
namespace _01_V_IntroIndexer
{
class Person
{
#region Datenfelder
private string name, vorname;
private int alter;
#endregion
#region Konstruktoren
public Person(string Name) // Aufruf z.B. bei "Claudia"
{
name = Name;
vorname = null;
alter = -1;
}
public Person(string name, string Vorname, int Alter = 0)
{
if (Alter < 0)
throw new ArgumentOutOfRangeException("Alter muss eine positive Zahl sein!");
this.name = name; // this.name ~ Datenfeld name; "nur" name ~ Parameter!!!
vorname = Vorname;
alter = Alter;
}
#endregion
#region (Datenfeld-) Zugriffsfunktionen
public void ErhöheAlter()
{
alter++;
}
public int getAlter()
{
return alter;
}
public int getAlter2() => alter;
public void setAlter(int value)
{
if (value < 0 || value > 150)
throw new ArgumentException("Alter muss im Bereich 0..150 sein!");
alter = value;
}
// Property-Schreibweise
public int Alter
{
get => alter;
set
{
if (value < 0 || value > 150)
throw new ArgumentException("Alter muss im Bereich 0..150 sein!");
alter = value;
}
}
#endregion
#region Sonstige Methoden
public void Ausgabe() // Ausgabe hat den impliziten Parameter this
{
//Console.WriteLine($"Person: {this.vorname} {this.name}, Alter: {this.alter}");
Console.WriteLine($"Person: {vorname} {name}, Alter: {alter}");
}
public static void Ausgabe(Person p) // Ausgabe hat ausschließlich den Parameter p
{
Console.WriteLine($"Person: {p.vorname} {p.name}, Alter: {p.alter}");
}
public override string ToString()
{
return $">>> Person: {vorname} {name}, Alter: {alter}";
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace _01_V_IntroIndexer
{
class Personenliste
{
}
}
using System;
namespace _01_V_IntroIndexer
{
class Program
{
static void Main(string[] args)
{
Person anton = new Person("Meier", "Anton", 21);
Person berta = new Person("Huber", "Berta");
Person claudia = new Person("Schuster");
anton.Ausgabe();
Person.Ausgabe(anton);
Console.WriteLine(anton);
Console.WriteLine(anton.ToString());
}
}
}
......@@ -2,9 +2,15 @@
namespace _01_V_WdhlgKlassen
{
class Program
public class Program
{
static void Main(string[] args)
public static int Add(int x, int y)
{
if (x>0)
return x + y;
return 0;
}
public static void Main()
{
Console.WriteLine("Hello World!");
}
......
......@@ -3,7 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31105.61
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "01-V WdhlgKlassen", "01-V WdhlgKlassen\01-V WdhlgKlassen.csproj", "{503B68BD-967D-4C38-AF1E-8DD44594F94E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "01-1 WdhlgKlassen", "01-V WdhlgKlassen\01-1 WdhlgKlassen.csproj", "{503B68BD-967D-4C38-AF1E-8DD44594F94E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "01-1T WdhlgKlassen", "01-T WdhlgKlassen\01-1T WdhlgKlassen.csproj", "{1FECE10D-561F-43F8-BD49-691FF959EF74}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "01-2 IntroIndexer", "01-V IntroIndexer\01-2 IntroIndexer.csproj", "{6781DE0D-C861-40AC-9C33-5EA5D917425D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestProject1", "TestProject1\TestProject1.csproj", "{24B954CA-BD5E-42BF-9396-E973BCC8A8B5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......@@ -15,6 +21,18 @@ Global
{503B68BD-967D-4C38-AF1E-8DD44594F94E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{503B68BD-967D-4C38-AF1E-8DD44594F94E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{503B68BD-967D-4C38-AF1E-8DD44594F94E}.Release|Any CPU.Build.0 = Release|Any CPU
{1FECE10D-561F-43F8-BD49-691FF959EF74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1FECE10D-561F-43F8-BD49-691FF959EF74}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1FECE10D-561F-43F8-BD49-691FF959EF74}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1FECE10D-561F-43F8-BD49-691FF959EF74}.Release|Any CPU.Build.0 = Release|Any CPU
{6781DE0D-C861-40AC-9C33-5EA5D917425D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6781DE0D-C861-40AC-9C33-5EA5D917425D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6781DE0D-C861-40AC-9C33-5EA5D917425D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6781DE0D-C861-40AC-9C33-5EA5D917425D}.Release|Any CPU.Build.0 = Release|Any CPU
{24B954CA-BD5E-42BF-9396-E973BCC8A8B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{24B954CA-BD5E-42BF-9396-E973BCC8A8B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{24B954CA-BD5E-42BF-9396-E973BCC8A8B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{24B954CA-BD5E-42BF-9396-E973BCC8A8B5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="xunit" Version="2.4.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
<PackageReference Include="coverlet.collector" Version="1.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\01-V WdhlgKlassen\01-1 WdhlgKlassen.csproj" />
</ItemGroup>
</Project>
using System;
using Xunit;
namespace TestProject1
{
public class UnitTest1
{
[Fact]
public void Test1()
{
Assert.Equal(7, _01_V_WdhlgKlassen.Program.Add(3, 4));
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment