Giter Club home page Giter Club logo

gdunit3mono's Introduction

GdUnit3Mono GitHub release (latest by date)

The C# extension for GdUnit3


GitHub branch checks state

What is GdUnit3Mono

GdUnit3Mono is the C# extention to enable GdUnit3 to run/write unit tests in C#.

Features

  • Configurable template for the creation of a new test-suite
  • A spacious set of Asserts use to verify your code
  • Fluent syntax support
  • Test Fuzzing support
  • Provides a scene runner to simulate interactions on a scene
    • Simulate by Input events like mouse and/or keyboard
    • Simulate scene processing by a certain number of frames
    • Simulate scene processing by waiting for a specific signal

Short Example

namespace GdUnit3.Tests
{
   using static Assertions;

   [TestSuite]
   public class StringAssertTest
   {
       [TestCase]
       public void IsEqual()
       {
           AssertThat("This is a test message").IsEqual("This is a test message");
       }
   }
}

Documentation

How to Install GdUnit3Mono

API Documentation


You are welcome to:

GitHub issues GitHub closed issues
GitHub top language GitHub code size in bytes

Join GdUnit3 Server

Thank you for supporting my project!


Sponsors:

gdunit3mono's People

Contributors

mikeschulze avatar

Stargazers

Azur avatar

Watchers

 avatar  avatar  avatar

gdunit3mono's Issues

GD-16: Rename IArrayAssert to IEnumerableAssert

A Task is not a bug or feature request

Description

we have to rename IArrayAssert to IEnumerableAssert to more reflect the real implementation

Acceptance criteria

Rename IArrayAssert to IEnumerableAssert

GD-26: SceneRunner: Add `simulate_physics` to handle `_physics_process`

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
The GdUnit scene runner only has a function to simulate frames running in the _process(<delta>) render thread.
There is currently no way to process a physics simulation in the proper physics thread to call _physics_process

Add a new method to enable physics simulation via the engine physics thread.
simulate_physics(<frames>, <delta>)

Describe alternatives you've considered
N/A

Additional context
Add any other context or screenshots about the feature request here.

GD-15: Flaky-Test: SceneRunnerTest.cs

SceneRunnerTest.cs fails by

Description

	Run Test: /__w/gdUnit3/gdUnit3/addons/gdUnit3/test/core/SceneRunnerTest.cs > AwaitMethod_withTimeFactor :STARTED
color_cycle
timer1
timer2
cycle end
color_cycle
timer1
timer2
cycle end
color_cycle
timer1
	Run Test: /__w/gdUnit3/gdUnit3/addons/gdUnit3/test/core/SceneRunnerTest.cs > AwaitMethod_withTimeFactor :PASSED 532ms
FAILED 8s 859ms
	| 250 total | 0 error | 2 failed | 0 skipped | 0 orphans |

https://github.com/MikeSchulze/gdUnit3/runs/6606156552#r0s86

Acceptance criteria

Test must be success

GD-13: Rework on Fuzzing

Description

C# Fuzzing support is very experimental and needs to be rework and improved

Acceptance criteria

  • full fuzzing support

GD-17: AssertThat: support all numeric types

Describe What

AssertThat is the main entry for all gdunit assertions and should supports all number types.

Describe Why

support

    public static INumberAssert<sbyte> AssertThat(sbyte current) 
    public static INumberAssert<byte> AssertThat(byte current)
    public static INumberAssert<short> AssertThat(short current)
    public static INumberAssert<ushort> AssertThat(ushort current)
    public static INumberAssert<int> AssertThat(int current)
    public static INumberAssert<uint> AssertThat(uint current)
    public static INumberAssert<long> AssertThat(long current)
    public static INumberAssert<ulong> AssertThat(ulong current)
    public static INumberAssert<float> AssertThat(float current)
    public static INumberAssert<double> AssertThat(double current)
    public static INumberAssert<decimal> AssertThat(decimal current)

GD-14: Complete C# tools

Description

At gd-script api we support a set of tools to make the live easier.
Add missing tools for c#
https://mikeschulze.github.io/gdUnit3/advanced_testing/tools/

Acceptance criteria

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.